Icono del sitio Desafiando Excel

Copiar imagen en todas las hojas en Excel (macro)

Copiar imagen en todas las hojas en Excel (macro)

¿Cómo podemos copiar una imagen en todas las hojas de un libro mediante el uso de macros en Excel?

La siguiente macro nos permite replicar una imágen de una hoja en todas las hojas visibles de un libro y en la misma posición/ubicación que la original mediante macros de forma rápida y fácil en Excel.

La instrucción a copiar dentro de un nuevo módulo de vba es la siguiente:

 

COPIAR IMAGEN EN TODAS LAS HOJAS EN EXCEL

Sub CopiarImagenATodasLasHojas()
    Dim shp As Shape
    Dim hojaOrigen As Worksheet
    Dim ws As Worksheet
    Dim nuevo As Shape
    Dim cantidad As Long

    Set hojaOrigen = ActiveSheet

    ' Verifica que haya una imagen seleccionada
    On Error Resume Next
    Set shp = hojaOrigen.Shapes(Selection.Name)
    On Error GoTo 0

    If shp Is Nothing Then
        MsgBox "Primero selecciona la imagen que quieres copiar.", vbExclamation
        Exit Sub
    End If

    Application.ScreenUpdating = False
    shp.Name = "Logo"

    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> hojaOrigen.Name And ws.Visible = xlSheetVisible Then

            ' Borra una copia anterior para no duplicar
            On Error Resume Next
            ws.Shapes("Logo").Delete
            On Error GoTo 0

            shp.Copy
            ws.Activate
            ws.Paste

            Set nuevo = ws.Shapes(ws.Shapes.Count)
            With nuevo
                .Name = "Logo"
                .Left = shp.Left
                .Top = shp.Top
                .Placement = shp.Placement
            End With

            cantidad = cantidad + 1
        End If
    Next ws

    Application.CutCopyMode = False
    hojaOrigen.Activate
    shp.Select
    Application.ScreenUpdating = True

    MsgBox "Imagen copiada a " & cantidad & " hojas.", vbInformation
End Sub

 

Notar que nombramos a la macro «CopiarImagenATodasLasHojas» y que debemos seleccionar la imagen a copiar previo a ejecutar la macro.

Cada vez que ejecutemos la macro estaremos replicando la imagen seleccionada en todas las hojas visibles del libro activo. Si existe una copia anterior exactamente igual, la nueva ejecución sobreescribirá a la imagen anterior.

De esta forma logramos copiar una imagen en todas las hojas de forma rápida y fácil mediante macros en Excel.

 

Te recomiendo ver el siguiente link con más videos de Macros útiles de Excel AQUÍ.

¿No sabés como instalar esta macro? ¡No te preocupes!  Aquí está la solución:

Salvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores. 

Salir de la versión móvil