Te dejo una macro con comentarios para que puedas ajustar algunos detalles:
- Ubicación de los campos Ruta y Nombre de la imagen capturada
- Colocar o no, el formato de imagen buscado (solo utilizar 1 de las 2 instrucciones) ajustando el texto 'jpg' por el que corresponda.
Sub capturaImagen()
'x Elsamatilde
'si ya se conoce la ruta se accede a ella
If [J1] <> "" Then
ruta = [J1]
ChDir ruta
End If
'si ya se sabe el formato de imagen a buscar se utiliza la 2da instrucción colocando la extensión buscada
'foto = Application.GetOpenFilename(Title:="Seleccione su imagen")
foto = Application.GetOpenFilename(Title:="Seleccione su imagen", _
Filefilter:=("Formato jpg(*.jpg),*.jpg"))
' si no se presionó la opción de Cancelar
If foto <> "Falso" Then
'inserta la imagen seleccionada
ActiveSheet.Pictures.Insert(img01).Select
'separar ruta y nombre
archi = Mid(foto, (InStrRev(foto, "\") + 1))
ruta = Left(foto, Len(foto) - Len(archi) - 1)
'colocar campos en ciertas celdas de la hoja activa
[J1] = ruta: [J2] = archi
End If
End Sub
La función InStrRev devuelve la posición de una cadena (en este caso "\") dentro de otra (en este caso el nombre del archivo) a partir de la última posición, salvo que se indique la posición de inicio.
PD) En videos 49 y 51 de mi canal encontrarás más ejemplos desarrollados con imágenes.
Sdos y no olvides valorar la respuesta.
Elsa
https://www.youtube.com/c/ElsaMatilde