Vba: come incollare valori e preservare la formattazione
È possibile utilizzare la seguente sintassi in VBA per copiare un intervallo di celle e incollare i valori e la formattazione di origine in una nuova posizione:
Sub PasteWithFormatting()
Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
Questa particolare macro copierà le celle nell’intervallo A1:C11 e incollerà i valori delle celle con la relativa formattazione nell’intervallo che inizia dalla cella A13 .
Nota : la riga Application.CutCopyMode = False specifica che la modalità taglia e copia deve essere disabilitata dopo l’esecuzione della macro.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: incolla valori e continua a formattare utilizzando VBA
Supponiamo di avere il seguente set di dati in Excel che contiene informazioni su vari giocatori di basket:
Diciamo che vogliamo copiare e incollare tutti i valori nell’intervallo A1:C11 in una nuova posizione e mantenere la formattazione.
Per fare ciò possiamo creare la seguente macro:
Sub PasteWithFormatting()
Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che i valori della cella originale sono stati incollati con la loro formattazione nell’intervallo di celle che inizia dalla cella A13 .
Nota : qui è possibile trovare la documentazione completa per il metodo VBA PasteSpecial .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come incollare solo valori senza formattazione
VBA: come copiare le linee visibili su un altro foglio
VBA: copia le righe su un altro foglio in base a criteri