Copia Incolla in VBA

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 giorno dopo giorno in Excel. Per copiare prima, dobbiamo decidere quale cella copiare.

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

Puoi scaricare questo modello VBA Copia Incolla Excel qui - Modello VBA Copia Incolla Excel

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

Diciamo ad esempio che 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 vedere l'argomento del metodo Copy.

Dice Destinazione.

Questo non è altro che 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 mettere la destinazione come “Range (“ 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, 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:

 Sub Copy_Example () Workbooks ("Book 1.xlsx"). Worksheets ("Sheet1"). Range ("A1"). Copy Workbooks ("Book 2.xlsx"). Attiva ActiveWorkbook.Worksheets ("Sheet 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.

" Cartelle di lavoro (" Libro 1.xlsx "). Fogli di lavoro (" Foglio1 "). Intervallo (" A1 "). Copia"

Quindi attiverà la cartella di lavoro "Libro 2.xlsx".

Cartelle di lavoro ("Libro 2.xlsx"). Attiva

Nella cartella di lavoro attiva, selezionerà il foglio di lavoro "Foglio 2"

ActiveWorkbook.Worksheets ("Foglio 2"). Selezionare

Ora nel foglio attivo, incollerà

ActiveSheet.Paste

Modo alternativo per utilizzare Copia Incolla in VBA

Abbiamo un altro modo alternativo per avere i dati da una cella a un'altra cella. Supponiamo di avere la parola "Excel VBA" nella cella A1 e che sia necessario lo stesso per entrare nella cella B3.

Un metodo che abbiamo visto è l'utilizzo del metodo copia e incolla VBA, ora ti mostrerò uno dei modi alternativi. Guarda il pezzo di codice sottostante per capire.

Codice:

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

Quanto sopra dice che qualunque sia il valore presente nella cella A1 dovrebbe essere uguale al valore nella cella B3.

Intervallo ("A1"). Valore = Intervallo ("B3"). Valore

Anche se questo non è un metodo di copia e incolla, aggiunge ancora più valore alla nostra conoscenza del codice.

Modi principali di copia e incolla VBA come valori

Ora vedremo diversi modi di copiare e incollare i valori VBA. Supponi di essere nella cella A1 come mostrato nell'immagine sottostante.

  • Se vogliamo copiare e incollare, dobbiamo fare riferimento alla cella qui, piuttosto possiamo semplicemente usare una proprietà di Selezione. Metodo di copia.

Codice:

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

O

 Sub Copy_Example1 () ActiveCell.Copy Destination: = Range ("B3") End Sub 
  • Se desideri copiare l'intero intervallo utilizzato del foglio di lavoro, puoi utilizzare il codice seguente.

Codice:

 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"