I think I see what is going on. Your picture is on top of a cell reference for that picture and you want to select that cell reference and AKA the picture on top of that cell based upon a condition in another cell?
If this is correct then the Change Event for that sheet will work for a redirect. If not then I still do not know what you are looking for?
This code takes the current cell value and uses it to get the right file name for a picture stored in a folder and replaces the current picture with the new one as that cell value changes.
Private Sub Worksheet_Change(ByVal Target As Range)
'Sheet Module code, like: Sheet1.
Dim myFlgSel$, myFlgFile$
'Get selected flags name only.
If Target.Address <> "$E$10" Then Exit Sub
myFlgSel = Range("E10").Value
'Test for no name found!
On Error GoTo myErr1
'Load active flags name.
myFlgFile = Range("F10").Value
'Remove current flag from sheet.
ActiveSheet.Shapes(myFlgFile).Select
Selection.Cut
myErr1:
'Use selected name to load file name.
Select Case myFlgSel
Case "United States of America"
myFlgFile = "us-s"
Case "China"
myFlgFile = "ch"
Case "Poland"
myFlgFile = "poland"
Case "United Kingdom"
myFlgFile = "uk"
Case "England"
myFlgFile = "england"
Case Else
Exit Sub
End Select
'Load selected flag file to sheet.
ActiveSheet.Pictures.Insert("U:\Excel\Test\" & myFlgFile & ".gif").Select
Selection.Name = myFlgFile
Range("F10").Value = myFlgFile
Selection.ShapeRange.ScaleWidth 0.35, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 0.35, msoFalse, msoScaleFromTopLeft
Application.CommandBars("Picture").Visible = False
ActiveSheet.Shapes(myFlgFile).Select
Selection.ShapeRange.IncrementLeft 2#
Selection.ShapeRange.IncrementTop 16#
Range("A1").Select
End Sub