Incollare un’immagine su più fogli di lavoro (Microsoft Excel)
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: