Marty ha una serie di cartelle di lavoro, alcune con fino a 50 fogli di lavoro. Deve incollare un’immagine (un logo aziendale) nello stesso punto su ogni foglio di lavoro. Ha provato a farlo selezionando tutti i fogli di lavoro e quindi incollando, ma non sembrava funzionare su più fogli di lavoro come fa la normale modifica.

Marty ha ragione; provare a incollare un’immagine quando sono selezionati più fogli di lavoro non funziona. Quando provi, Excel ti dice che non può fare la pasta, ma se selezioni solo un singolo foglio di lavoro puoi incollare abbastanza bene.

Invece, è necessario utilizzare una macro per incollare. Supponendo che l’immagine sia già stata copiata negli Appunti, puoi eseguire una macro come la seguente:

Sub InsertLogo1()

Dim shtSheet As Worksheet

Application.ScreenUpdating = False     For Each shtSheet In Worksheets         With shtSheet             .Activate             .Range("A1").Select             .Paste         End With     Next     Set shtSheet = Nothing     Application.ScreenUpdating = True End Sub

La macro passa attraverso ogni foglio di lavoro nella cartella di lavoro e incolla l’immagine nella cella A1. Se desideri utilizzare una cella diversa, tutto ciò che devi fare è modificare la riga che seleziona la cella.

Se non vuoi copiare la grafica negli Appunti in anticipo, puoi usare una macro come la seguente per inserire la grafica direttamente da un file di immagine:

Sub InsertLogo2()

Dim strPath As String     Dim shtSheet As Worksheet

strPath = "C:\GraphicFolder\PictureName.bmp"



For Each shtSheet In Worksheets         shtSheet.Activate         Range("A1").Select         ActiveSheet.Pictures.Insert (strPath)

Next shtSheet     Set shtSheet = Nothing End Sub

Ovviamente puoi modificare il percorso del file grafico e la cella in cui il file viene incollato nei fogli di lavoro. Se lo desideri, puoi usare la seguente variazione che mostra una finestra di dialogo standard di Windows per selezionare la grafica che vuoi inserire:

Sub InsertLogo3()

Dim strPath As Variant     Dim shtSheet As Worksheet     Dim sTemp As String

' Set the file type     sTemp = "Graphics Files (.jpg; .bmp; .gif; .tif; *.png)"

sTemp = sTemp & ", .jpg; .bmp; .gif; .tif; *.png"

strPath = Application.GetOpenFilename(sTemp)

If strPath <> False Then         For Each shtSheet In Worksheets             shtSheet.Activate             Range("A1").Select             ActiveSheet.Pictures.Insert (strPath)

Next shtSheet         Set shtSheet = Nothing     End If End Sub

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (9205) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: