Taglia, copia e incolla da una macro - Esempi di codice VBA

In questo tutorial imparerai diversi metodi per copiare e incollare e tagliare e incollare utilizzando una macro VBA. Leggi il tutorial compagno su Value Pasting e PasteSpecial per opzioni di copia e incolla più avanzate.

Per utilizzare questo codice: Aprire l'editor di Visual Basic (Alt + F11), inserire un nuovo modulo (Inserisci > Modulo) e copia e incolla il codice desiderato nel modulo.

Copia (taglia) e incolla una singola cella

Questo esempio copia o taglia e incolla una singola cella, da A1 a B1:

123456789 Sub Paste_OneCell()"Copia e incolla singola cella"Intervallo ("A1"). Copia Intervallo ("B1")"Taglia e incolla singola cella"Intervallo ("A1"). Intervallo di taglio ("B1")Fine sottotitolo

Copia selezione

Se vuoi copiare la selezione attiva usa questo:

123456789101112 Sub CopySelection()"Incolla in un intervallo definito"Intervallo di selezione.copia ("b1")'Offset Incolla (sposta 2 celle in basso e 1 a destra)Selezione.copiaSelection.offset(2,1).pasteApplication.CutCopyMode = FalseFine sottotitolo

Copia (taglia) e incolla un intervallo di celle

Questo esempio copia o taglia e incolla un intervallo di celle, A1:A3 su B1:B3:

123456789 Sub Paste_Range()"Copia e incolla un intervallo di celle"Intervallo ("A1: A3"). Intervallo di copia ("B1: B3")"Taglia e incolla un intervallo di celle"Intervallo ("A1: A3"). Intervallo di taglio ("B1: B3")Fine sottotitolo

Copia (taglia) e incolla un'intera colonna

Di seguito dimostreremo un paio di rapidi esempi. Leggi il nostro articolo su Copia e incolla di righe e colonne per esempi dettagliati, spiegazioni e variazioni.

Questo esempio copia o taglia e incolla un'intera colonna, da A a B:

12345678910 Sub PasteOneColumn()"Copia e incolla colonna"Intervallo ("A: A"). Copia Intervallo ("B: B")Colonna "Taglia e incolla"Intervallo ("A: A"). Intervallo di taglio ("B: B")Fine sottotitolo

Copia (taglia) e incolla un'intera riga

Questo esempio copia o taglia e incolla un'intera riga, da 1 a 2:

12345678910 Sub Paste_OneRow()"Copia e incolla riga"Intervallo ("1:1"). Intervallo di copia ("2:2")"Taglia e incolla riga"Intervallo ("1:1"). Intervallo di taglio ("2:2")Fine sottotitolo

Copia (taglia) e incolla in un altro foglio di lavoro o cartella di lavoro

1234567891011121314 Sub Paste_Other_Sheet_or_Book()"Taglia o copia e incolla in un altro foglio di lavoro"Fogli di lavoro("foglio1").Intervallo("A1").Copia Fogli di lavoro("foglio2").Intervallo("B1") 'CopiaFogli di lavoro ("foglio1"). Intervallo ("A1"). Fogli di lavoro tagliati ("foglio2"). Intervallo ("B1") 'Taglia"Taglia o copia e incolla in un'altra cartella di lavoro"Cartelle di lavoro ("book1.xlsm"). Fogli di lavoro ("sheet1"). Intervallo ("A1"). Copia _Workbooks("book2.xlsm").Worksheets("sheet1").Intervallo("B1") 'CopiaCartelle di lavoro ("book1.xlsm"). Fogli di lavoro ("sheet1"). Intervallo ("A1"). Taglia _Cartelle di lavoro ("book2.xlsm"). Fogli di lavoro ("sheet1"). Intervallo ("B1") 'TagliaApplication.CutCopyMode = FalseFine sottotitolo

Valore Incolla

Normalmente, quando copi e incolli incolli tutte le proprietà di una cella: formattazione, formule, ecc… Value Pasting ti consente di copiare e incollare i valori delle celle e nient'altro. Il modo più semplice per incollare valori in VBA è definire direttamente il valore della cella:

123456789101112131415 Sub ValuePaste()"Celle Incolla valore"Intervallo("B1").valore = Intervallo("A1").valoreIntervallo("B1:B3").valore = Intervallo("A1:A3").valore"Imposta valori tra fogli di lavoro"Fogli di lavoro("foglio2").intervallo("A1").valore = Fogli di lavoro("foglio1").intervallo("A1").valore"Imposta valori tra cartelle di lavoro"Cartelle di lavoro ("book2.xlsm"). Fogli di lavoro ("foglio1"). intervallo ("A1"). valore = _Cartelle di lavoro ("libro1.xlsm"). Fogli di lavoro ("foglio1"). intervallo ("A1"). valoreApplication.CutCopyMode = FalseFine sottotitolo

Incolla speciale

Incolla speciale consente di copiare e incollare proprietà specifiche delle celle (esempi: formati, valori, larghezze delle colonne, ecc.). Consente inoltre di eseguire operazioni di incolla speciali (esempi: saltare spazi vuoti, trasporre). Vedremo diversi esempi di seguito, ma per un approfondimento leggi il nostro tutorial su Value Pasting e Paste Special.

12345678910111213141516171819 Sub PasteSpecial()'Esegui un'operazione speciale Incolla:Intervallo ("A1"). Copia"Incolla formati"Range("B1").PasteSpecial Paste:=xlPasteFormats"Incolla larghezze colonne"Range("B1").PasteSpecial Paste:=xlPasteColumnWidths"Incolla formule"Range("B1").PasteSpecial Paste:=xlPasteFormulas'Esegui più operazioni speciali di incollaggio contemporaneamente:Intervallo ("A1"). Copia"Incolla formati e trasponi"Range("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _Falso, Trasponi:=VeroApplication.CutCopyMode = FalseFine sottotitolo

Cancella appunti

Dopo aver copiato e incollato potresti voler cancellare gli appunti (lo facciamo in alcuni degli esempi di codice sopra). Per cancellare gli appunti di Excel, impostiamo Application.CutCopyMode su False:

1 Application.CutCopyMode = False

Questo cancellerà gli appunti di Excel. Tuttavia, non cancellerà gli Appunti di Windows. Per cancellare gli appunti di Windows, segui le istruzioni qui.

wave wave wave wave wave