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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *