If you ask me than I will say yes it is possible. I have use the same idea in my presentation and believe me it worked fine. The presentation was perfect with picture column in single row including the vLookup on another sheet.The code for it is:
Code:
Public Sub UpdateWeather(rngTarget As Range)
Dim oPic_src As Picture
Dim oPic_update As Picture
Dim oPic_new As Picture
Dim wsReport As Worksheet
Dim wsPicLookup As Worksheet
Dim lPic As Long
Application.ScreenUpdating = False
'Set worksheets
Set wsReport = Worksheets("Report")
Set wsPicLookup = Worksheets("PictureLookup")
With wsReport
'Work out which picture should be updated. (Need column of range)
lPic = Intersect(.Range("rng_weather"), rngTarget).Column - .Range("rng_weather").Cells(1, 1).Column + 1
'Set reference to pictures to replace/replace with
Set oPic_update = .Pictures("pic_day" & lPic)
Set oPic_src = wsPicLookup.Pictures(Application.WorksheetFunction.VLookup(rngTarget.Value, wsPicLookup.Range("tbl_weatherpics"), 2, False))
'Copy picture to be used and place it where old picture resides
Set oPic_new = oPic_src.Duplicate
oPic_new.Cut
.Paste
Set oPic_new = Selection
With oPic_new
.Top = oPic_update.Top
.Left = oPic_update.Left
.Name = oPic_update.Name
End With
'Delete old picture
oPic_update.Delete
End With
rngTarget.Activate
End Sub
Bookmarks