Much easier if you put the pictures on a hidden sheet in the workbook.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Select Case LCase(Target.Formula)
    Case "z.1"
    Sheets("Sheet2").Shapes("Picture 1").Copy
    Case "z.2"
    Sheets("Sheet2").Shapes("Picture 2").Copy
    'etc.
End Select
ActiveSheet.Paste
Selection.Top = Target.Top
Target.Select
End Sub
Alternative for subfolder
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Call Test2(Target)
End Sub


Sub Test2(Target)
Dim Pth As String
Dim Pic As Object
    Pth = ActiveWorkbook.Path & "\Pics\"
    Select Case LCase(Target.Formula)
        Case "z.1"
            Set Pic = ActiveSheet.Pictures.Insert(Pth & "Pic1.jpg")
        Case "z.2"
            Set Pic = ActiveSheet.Pictures.Insert(Pth & "Pic2.jpg")
        'etc.
    End Select
    Pic.Top = Target.Top
End Sub