Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim sPath As String
Dim oSheet As Worksheet
Dim oShape As Shape
'Requires two image files "C:\Temp\sun.jpg & C:\Temp\moon.jpg
sPath = "C:\Temp\" ' Change path to suit
Application.EnableEvents = False
Select Case UCase(Target.Text)
Case "SUN"
Set oShape = Sh.Shapes.AddPicture(sPath & "sun.jpg", msoFalse, msoTrue, Target.Left, Target.Top, 1, 1)
Case "MOON"
Set oShape = Sh.Shapes.AddPicture(sPath & "moon.jpg", msoFalse, msoTrue, Target.Left, Target.Top, 1, 1)
'Case ... as many case statements as needed associated to existing image files
Case Else
End Select
If Not oShape Is Nothing Then
oShape.ScaleHeight 1, msoTrue
oShape.ScaleWidth 1, msoTrue
End If
Application.EnableEvents = True
End Sub