I was thinking to include this in the code bank for a long time but didn't think it was that important but after when I replied to one of the threads today, I did a quick search in the forum and found that many members have asked this question in the past (including me) So here it is. I am pasting the code for your reference. Hope it benefits someone... If it does then do leave a comment here

Excel unfortunately doesn't allow you to directly export jpeg, gif images. However It does let you easily export flowcharts, charts etc... so the key is to trick Excel. And we can do that by creating a temp chart and pasting the picture in the chart. We need to work with the dimensions a little bit but after that it very easy to export the image. Here is the code...

I have commented the code so that it would be easy to understand...

vb Code:
  1. Option Explicit
  2.  
  3. 'You need to select a picture before running this code
  4. 'else it will give you error'
  5. Sub PictureExport()
  6.     Dim TempChart As String, Picture2Export As String
  7.     Dim PicWidth As Long, PicHeight As Long
  8.      
  9.     Picture2Export = Selection.Name
  10.      
  11.     'Store the picture's height and width  in a variable
  12.     With Selection
  13.         PicHeight = .ShapeRange.Height
  14.         PicWidth = .ShapeRange.Width
  15.     End With
  16.      
  17.     'Add a temporary chart in sheet1
  18.     Charts.Add
  19.     ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
  20.     Selection.Border.LineStyle = 0
  21.     TempChart = Selection.Name & " " & Split(ActiveChart.Name, " ")(2)
  22.      
  23.     With ActiveSheet
  24.         'Change the dimensions of the chart to suit your need
  25.         With .Shapes(TempChart)
  26.             .Width = PicWidth
  27.             .Height = PicHeight
  28.         End With
  29.            
  30.         'Copy the picture
  31.         .Shapes(Picture2Export).Copy
  32.            
  33.         'Paste the picture in the chart
  34.         With ActiveChart
  35.             .ChartArea.Select
  36.             .Paste
  37.         End With
  38.            
  39.         'Finally export the chart
  40.         .ChartObjects(1).Chart.Export Filename:="Sample.jpg", FilterName:="jpg"
  41.         'Destroy the chart. You may want to delete it...
  42.         .Shapes(TempChart).Cut
  43.       End With
  44. End Sub