Cómo hacer que salga una imagen automáticamente en un celda en concreto

Lo que quiero conseguir hacer es que a través de una celda con lista de validación de 2 opciones, cuando elija la primera opción aparezca automáticamente en otras partes del documento una firma con un sello (una imagen previamente scaneada, vamos), y cuando elija la opción 2 aparezca la firma y el sello de otra persona.

Si fueran datos, creo que con una función BUSCARV se podría hacer, pero el ser una imagen no tengo ni idea.

1 respuesta

Respuesta
1

H o l a:

Para realizar lo que necesitas se puede hacer con una macro.

Te anexo la macro, cambia en la macro donde dice: Range("C4"), cambia C4 por la celda donde tienes tu lista de validación.

Cambia también en la macro la ruta donde tienes los archivos escaneados donde dice:

ruta = "C:\trabajo\varios\"

También tienes que poner el nombre de los archivos con todo y extensión, cambia foto1.jpeg por el nombre del archivo para la opción 1; cambia foto2.jpg por el nombre del archivo para la opción 2.

Por último, cambia en la macro donde dice: With Range("D4"), cambia D4 por la celda en donde quieres que se ponga la imagen.


La macro:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("C4")) Is Nothing Then
        If Target = 1 Then
            arch = "foto1.jpeg"
        Else
            arch = "foto2.jpg"
        End If
        '
        ruta = "C:\trabajo\varios\"
        '
        On Error Resume Next
        ActiveSheet.DrawingObjects("firma").Delete
        On Error GoTo 0
        Set fotografia = ActiveSheet.Pictures.Insert(ruta & arch)
        'asignamos el rango de celdas que ocupará la foto
        With Range("D4")
            Arriba = .Top
            Izquierda = .Left
            Ancho = .Width
            Alto = .Height
        End With
        '
        With fotografia
            .ShapeRange.LockAspectRatio = msoFalse
            .Name = "firma"
            .Top = Arriba
            .Left = Izquierda
            .Width = Ancho
            .Height = Alto
        End With
        '
        'eliminamos el objeto
        Set fotografia = Nothing
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas