The VBA solution provided by JE McGimpsey is the generally accepted best
approach:
http://www.mcgimpsey.com/excel/lookuppics.html
For an alternative non-VBA solution, try this:
Assumption: Pictures are stored on Sheet2 to be dynamically shown on Sheet1.
Select Sheet2 and turn off Grid Lines
(ToolsOptionsView tab:Uncheck Grid Lines)
1)For each picture to be displayed:
1a. InsertPicture from file. (select picture and put it in the sheet).
1b. Select the range of cells that contains the picture.
1c. Name that range of cells, using the prefix "pic" followed by the
dropdown list text:
Example for a picture of an Elephant:
InsertNameDefine
Name: picElephant
2)Build your data validation list on a cell in Sheet1 and pick one of the
items.
3)Create a dynamic range name that refers to that cell:
InsertNameDefine
Name: ShowMyPic
RefersTo: =INDIRECT("pic"&Sheet1!$A$1)
....or whatever cell you chose.
4)Copy/Paste one of the pictures from Sheet2 to the display cell on Sheet1.
5)With the picture selected, type this in the formula bar, then press [Enter]:
=ShowMyPic
The picture will be replaced by the picture referred to by the dropdown list.
Each time you select a different item in the list, the associated picture
will appear in the picture box and resize appropriately.
Does that help?
***********
Regards,
Ron
XL2002, WinXP
"AJ" wrote:
Hi there,
Lets say in Sheet 2 I had pasted 3 pictures
On sheet 1:
A1=1
A2=2
Is it possible to put a formula in B1 that has this logic:
If A1=1 then show picture 1, otherwise show picture 3
I doubt its possible, but you never know eh.
or, if I have 3 images saved on my harddrive, can I use a formula to show
the image in a spreadsheet without having to insert/paste it in?
Many thanks,
AJ