Esta macro te servirá si estás diseñando un formulario en la hoja:
Sub insertaImagen()
'x Elsamatilde
Set foto = Application.FileDialog(msoFileDialogFilePicker)
If foto.Show = 0 Then
Exit Sub
End If
rutafoto = foto.SelectedItems(1)
ActiveSheet.Pictures.Insert(rutafoto).Select
'opcional: quitar la seleccion de la imagen
Range("C2").Select
End Sub
Si tu idea es utilizar un Userform, ya tendrás dibujado allí el control Image, verdad?
Y un botón para asignarle la imagen? Entonces la macro es esta:
Private Sub CommandButton2_Click()
'x Elsamatilde
Set foto = Application.FileDialog(msoFileDialogFilePicker)
If foto.Show = 0 Then
Exit Sub
End If
rutafoto = foto.SelectedItems(1)
On Error Resume Next
Image1.Picture = LoadPicture(rutafoto)
End Sub
En lugar de un botón se puede ejecutar la búsqueda al doble clic del control Image.
En ese caso el encabezado de la rutina es:
Private Sub Image1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Ajusta los nombres de los controles y probala. Si todo está resuelto no olvides valorar la respuesta (Excelente o buena)... sino aclara detalles y la seguimos tratando.