VBA Copia Incolla - Modi migliori per copiare e incollare in VBA (con esempi)

Copia Incolla in VBA è simile a quello che facciamo nel foglio di lavoro Excel, come se potessimo copiare un valore e incollarlo in un'altra cella, inoltre possiamo usare Incolla speciale per incollare solo i valori, allo stesso modo in VBA usiamo il metodo di copia con proprietà intervallo su copia un valore da una cella all'altra e per incollare il valore usiamo la funzione del foglio di lavoro incolla speciale o incolla il metodo.

Come copiare e incollare in VBA?

Di seguito sono riportati alcuni esempi di come copiare e incollare in Excel utilizzando VBA.

La cosa fondamentale che facciamo in Excel è copiare, tagliare e incollare i dati da una cella a un'altra cella. Non richiede neanche un'introduzione speciale. Tuttavia, durante l'apprendimento della codifica VBA è importante comprendere lo stesso concetto nel linguaggio di codifica. Copia Incolla in VBA è l'attività di routine che svolgiamo quotidianamente in Excel. Per copiare prima, dobbiamo decidere quale cella copiare.

Esempio n. 1: copia e incolla i valori utilizzando l'oggetto intervallo

Supponiamo di avere la parola "Excel VBA" nella cella A1.

Diciamo, ad esempio, se vuoi copiare la cella A1 possiamo usare l'oggetto VBA RANGE.

Codice:

Sub Copy_Example () Range ("A1"). End Sub

Nel momento in cui fai riferimento alla cella, possiamo vedere tutte le proprietà e i metodi con essa. Quindi seleziona il metodo " Copia".

Codice:

Sub Copy_Example () Range ("A1"). Copy End Sub

Dopo aver selezionato il metodo, premere il tasto spazio per visualizzare l'argomento del metodo Copy.

Dice Destinazione.

Questo non è niente, ma dove vuoi copiare e incollare i valori in VBA senza selezionare il metodo PASTE.

Se stiamo incollando nello stesso foglio, possiamo selezionare la cella utilizzando l'oggetto Range. Diciamo che se vogliamo incollare il valore nella cella B3, possiamo inserire la destinazione come "Intervallo (" B3 ")."

Codice:

Sub Copy_Example () Range ("A1"). Copia destinazione: = Range ("B3") End Sub

Questo copierà i dati dalla cella A1 e incollerà nella cella B3.

Possiamo anche utilizzare il metodo seguente per incollare i dati.

Codice:

Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Seleziona ActiveSheet.Paste End Sub

Innanzitutto, copieremo e selezioneremo i dati dalla cella A1 e incolleremo nella cella B3.

Esempio n. 2: copia in un altro foglio di lavoro nella stessa cartella di lavoro

Ora, se vogliamo copiare e incollare il valore dai diversi fogli di lavoro utilizzando la macro VBA, quindi nell'argomento Destinazione, dobbiamo fare riferimento al nome del foglio utilizzando l'oggetto FOGLI DI LAVORO, quindi menzionare l'intervallo di celle in quel FOGLIO DI LAVORO. Il codice seguente farà il lavoro.

Codice:

Sub Copy_Example () Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub

Se vogliamo copiare i dati da un foglio particolare e vogliamo incollarli in un altro foglio particolare, dobbiamo menzionare entrambi i nomi dei fogli.

Per prima cosa dobbiamo menzionare il foglio di copia.

Fogli di lavoro ("Foglio1"). Intervallo ("A1"). Copia

Quindi, nell'argomento Destinazione, dobbiamo menzionare il nome del foglio di lavoro mirato e l'intervallo della cella.

Destinazione: = Fogli di lavoro ("Foglio2"). Intervallo ("B3")

Quindi il codice dovrebbe essere così.

Codice:

Sub Copy_Example () Worksheets ("Sheet1"). Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub

Esempio n. 3: copia da una cartella di lavoro a un'altra cartella di lavoro

Abbiamo visto come copiare da un foglio di lavoro a un altro foglio di lavoro nella stessa cartella di lavoro. Ma possiamo anche farlo da una cartella di lavoro a un'altra.

Dai un'occhiata al codice sottostante.

Codice:

SubCopy_Example () Cartelle di lavoro ("Libro 1.xlsx"). Fogli di lavoro ("Foglio1"). Intervallo ("A1"). Copia cartelle di lavoro ("Libro 2.xlsx"). Attiva ActiveWorkbook.Worksheets ("Foglio 2"). Seleziona ActiveSheet.Paste End Sub

In primo luogo copierà i dati dal foglio di lavoro "Sheet1" nella cartella di lavoro "Book1.xlsx" dalla cella A1.

Workbooks("Book 1.xlsx").Worksheets("Sheet1").Range("A1").Copy”

Then it will activate the workbook “Book 2.xlsx”.

Workbooks("Book 2.xlsx").Activate

In the active workbook, it will select the worksheet “Sheet 2.”

ActiveWorkbook.Worksheets("Sheet 2").Select

Now in the active sheet, it will paste.

ActiveSheet.Paste

Alternative Way for using Copy-Paste in VBA

We have one more alternative way of having the data from one cell to another cell. Assume you have the word “Excel VBA” in the cell A1 and you need the same to come in cell B3.

One method we have seen is using the VBA copy and paste method. Now I will show you one of the alternative ways. Look at the below piece of code to understand.

Code:

Sub Copy_Example1() Range("A1").Value = Range("B3").Value End Sub

The above says whatever the value is there in the cell A1 should be equal to the value in the cell B3.

Range("A1").Value = Range("B3").Value

Even though this is not a copy and paste method still adds more value to our coding knowledge.

Top Ways of VBA Copy and Paste as Values

Now we will see different ways of VBA copy and paste values. Assume you are in the cell A1 as shown in the below image.

  • If we want to copy and paste, we need to reference the cell here. Rather we can just use a property of Selection. Copy method.

Code:

Sub Copy_Example1() Selection.Copy Destination:=Range("B3") End Sub

OR

Sub Copy_Example1() ActiveCell.Copy Destination:=Range("B3") End Sub
  • If you want to copy the entire used range of the worksheet, you can use the below code.

Code:

Sub Copy_Example2 () Worksheets ("Sheet1"). UsedRange.Copy Destination: = Worksheets ("Sheet2"). Range ("A1") End Sub

Questo copierà l'intero intervallo utilizzato nel foglio di lavoro "Foglio1" e incollerà lo stesso nel foglio di lavoro "Foglio2".

Articoli interessanti...