Incolla VBA

Incolla VBA di Excel

Esistono tre modi diversi per incollare alcuni dati da una posizione all'altra in un foglio di lavoro utilizzando VBA, il primo metodo consiste nel riferire normalmente i valori da una cella a un'altra cella utilizzando l'operatore di assegnazione, un altro metodo è utilizzando la funzione Incolla e il terzo metodo è utilizzando la funzione pastespecial.

Copia e incolla è la cosa più comune che facciamo giorno dopo giorno nel nostro posto di lavoro. In un normale foglio di calcolo, non abbiamo bisogno di presentazioni speciali. Nella programmazione VBA è molto importante comprendere il concetto del metodo "PASTE" per comprendere il programma per passare al livello successivo.

Comprendi il metodo VBA Paste registrando una macro

Per iniziare il procedimento si capisce come funziona il metodo paste registrando una semplice macro. Ho inserito un valore nella cella A1 come mostrato nell'immagine sottostante.

Ora ti mostrerò il metodo per copiare e incollare dalla cella A1 ad A3. Segui i passaggi seguenti per registrare una macro.

Passaggio 1: fare clic su Registra macro nella scheda sviluppatore Excel.

Passaggio 2: nel momento in cui fai clic sulla macro di registrazione, ti verrà mostrato il nome della macro predefinita. A partire da ora basta fare clic su OK.

Passaggio 3: nel momento in cui fai clic su ok, inizia a registrare le attività che svolgi. La prima cosa che devi fare è selezionare la cella A1 da copiare.

Passaggio 4: ora premi Ctrl + C per copiare la cella selezionata.

Passaggio 5: ora seleziona la cella A3 in cui dobbiamo incollare il valore copiato.

Passaggio 6: ora incolla premendo Ctrl + V.

Passaggio 7: ora interrompi le registrazioni.

Vai a un editor visuale di base per vedere le registrazioni. Di seguito è uscita la registrazione.

La prima cosa che abbiamo fatto qui è "abbiamo selezionato la cella A1", quindi il codice per questa attività è Intervallo ("A1"). Seleziona

La prossima attività è che abbiamo copiato la cella A1. Puoi notare che il codice non è Range ("A1"). Copia invece dice Selezione. Copia, questo perché nel momento in cui selezioni la cella diventa una cella attiva o una selezione. Quindi è indicato come selezione. Copia .

La terza attività è stata che abbiamo selezionato la cella A1 da incollare, quindi il codice è Range ("A3"). Selezionare

L'attività finale è che abbiamo incollato il valore nella cella. Qui dice Foglio attivo perché nel momento in cui selezioni la cella diventa una cella attiva del foglio attivo. Quindi il codice è "ActiveSheet.Paste"

Ecco come funziona il metodo Paste in VBA.

Formula

Di seguito è riportata la formula per il metodo Incolla VBA:

Expression.Paste (destinazione, collegamento)

Un'espressione non è altro che il nome del foglio di lavoro che desideri incollare. Per comprendere meglio l'oggetto foglio di lavoro, leggere il nostro articolo su "Foglio di lavoro VBA".

È possibile fare riferimento all'altro foglio di lavoro per nome, se si desidera incollare nello stesso foglio di lavoro in cui è stato copiato, è possibile fare riferimento al foglio corrente con "Foglio attivo".

Destinazione: dopo aver menzionato il nome del foglio di lavoro, dobbiamo fare riferimento all'indirizzo della cella di destinazione. Ad esempio, se si desidera incollare nel foglio di lavoro "Dati vendita" e nelle celle da A5 ad A10, di seguito è riportato il codice di esempio.

Fogli di lavoro ("Dati di vendita"). Intervallo ("A5: A10")

Se ignori questo argomento, qualunque sia la cella attiva verrà considerata come cella di destinazione.

Collegamento: se si desidera creare un collegamento all'intervallo copiato, è possibile fornire l'argomento come VERO oppure FALSO.

Esempi di metodo Paste in Excel VBA

Di seguito sono riportati gli esempi del metodo Incolla VBA di Excel.

Esempio n. 1: incolla nello stesso foglio di lavoro di Excel

Vediamo ora l'utilizzo del metodo Incolla VBA nello stesso foglio. Ad esempio una dimostrazione, ho pochi valori dalla cella A1 ad A5.

Ora voglio copiarlo e incollarlo da C1 a C5. Segui i passaggi seguenti per scrivere il codice da solo.

Passaggio 1: prima di pubblicare qualsiasi cosa, la prima cosa che dobbiamo fare è copiare l'intervallo di dati. Quindi copia l'intervallo da A1 ad A5.

Codice:

 Sub Paste_Example1 () Intervallo ("A1: A5"). Copia End Sub 

Passaggio 2: dopo aver copiato, dobbiamo specificare dove stiamo incollando. Per fare ciò prima dobbiamo specificare il nome del foglio di lavoro, in questo caso poiché stiamo incollando nello stesso foglio, usa l'oggetto Foglio attivo.

Codice:

 Sub Paste_Example1 () Range ("A1: A5"). Copia ActiveSheet.Paste End Sub 

Passaggio 3: dopo aver selezionato il metodo di incolla, è necessario specificare anche la destinazione. Quindi la destinazione sarà l'intervallo da C1 a C5.

Codice:

 Sub Paste_Example1 () Range ("A1: A5"). Copia ActiveSheet.Paste Destination: = Range ("C1: C5") End Sub 

Passaggio 4: ora non voglio creare alcun collegamento a questo metodo di incolla VBA, quindi ignoro l'argomento successivo.

Ora esegui questo codice usando il tasto F5 o manualmente, copierà da A1 ad A5 e incollerà da C1 a C5.

Se guardi i valori da C1 a C5, questi valori sono come in una cella da A1 ad A5. Quindi questo metodo di incolla VBA copia tutto e incolla tutto.

Ora userò l'argomento LINK per vedere come funziona. Per l'argomento LINK ho fornito TRUE.

Codice:

 Sub Paste_Example1 () Intervallo ("A1: A5"). Copia collegamento ActiveSheet.Paste: = True End Sub 

Questo creerà un collegamento alla cella da A1 ad A5.

Quindi ha creato un collegamento. Una mancanza notevole è la formattazione delle celle qui. Non ha incollato nessuno stile di formattazione.

Esempio n. 2: incolla in un foglio di lavoro Excel diverso

La copia da un foglio di lavoro a un altro richiede i nomi dei fogli di lavoro. Supponiamo di voler copiare i dati dal foglio “Primo foglio” e di volerli incollare nel foglio “Secondo foglio” di seguito è il modo di fare riferimento ai fogli.

Codice:

 Sub Paste_Example2 () Worksheets ("First Sheet"). Range ("A1: A5"). Copy Worksheets ("Second Sheet"). Paste Destination: = Range ("C1: C5") End Sub 

Questo copierà i dati da A1 ad A5 dal nome del foglio chiamato "Nome", quindi incollerà nel foglio "Secondo foglio" nell'intervallo da C1 a C5.

È possibile scaricare il modello Incolla VBA qui: - Modello Excel Incolla VBA