Você pode usar a propriedade Application.Caller e atribuir a macro genérica a todas as imagens e, em seguida, passar o ID da imagem como argumento -
Sub genericpicture_click()
Dim pic As String
pic = Application.Caller
MsgBox (pic)
End Sub
Aqui está um exemplo usando casos:
' Procedure to display which button was pressed.
Sub WhichButton()
' Assign the calling object to a variable.
ButtonName = Application.Caller
' Display the name of the button that was clicked.
Select Case ButtonName
' NOTE: When you type the name of the button, note that
' Visual Basic is case and space sensitive when comparing
' strings. For example, "Button 6" and "button6" are not the
' same.
Case "Button 6"
MsgBox Application.Caller & " was Clicked"
Case "Button 7"
MsgBox Application.Caller & " was clicked."
Case "Button 8"
MsgBox Application.Caller & " was clicked."
End Select
End Sub