Enganxa VBA (guia pas a pas) | Com enganxar dades mitjançant el codi VBA?

Enganxa VBA d'Excel

Hi ha tres maneres diferents d’enganxar algunes dades d’un lloc a un altre en un full de càlcul mitjançant VBA, el primer mètode consisteix en referir normalment els valors d’una cel·la a una altra cel·la mitjançant l’operador d’assignació, un altre mètode és mitjançant la funció d'enganxar i el tercer mètode és mitjançant la funció pastespecial.

Copiar i enganxar és el més habitual que fem dia a dia al nostre lloc de treball. En un full de càlcul habitual, no necessitem cap introducció especial. A la programació VBA és molt important entendre el concepte del mètode "PASTE" per entendre el programa per avançar al següent nivell.

Compreneu el mètode d'enganxar VBA mitjançant la gravació d'una macro

Per iniciar el procediment, es pot entendre el funcionament del mètode d'enganxar gravant una macro senzilla. He introduït un valor a la cel·la A1 tal com es mostra a la imatge següent.

Ara us mostraré el mètode de copiar i enganxar de la cel·la A1 a A3. Seguiu els passos següents per enregistrar una macro.

Pas 1: Feu clic a Enregistrar macro a la pestanya desenvolupador d'Excel.

Pas 2: En el moment que feu clic a la macro de registre, us mostrarà el nom de la macro per defecte. A partir d'ara, només cal que feu clic a D'acord.

Pas 3: En el moment que feu clic a D'acord, comença a enregistrar les activitats que feu. El primer que heu de fer és seleccionar la cel·la A1 per copiar.

Pas 4: Ara premeu Ctrl + C per copiar la cel·la seleccionada.

Pas 5: Ara seleccioneu la cel·la A3 on hem d’enganxar el valor copiat.

Pas 6: Ara enganxeu prement Ctrl + V.

Pas 7: Ara atureu les gravacions.

Aneu a un editor visual bàsic per veure els enregistraments. A continuació es mostra la gravació.

El primer que hem fet aquí és "hem seleccionat la cel·la A1", de manera que el codi d'aquesta activitat és Rang ("A1"). Seleccioneu

La següent activitat és que hem copiat la cel·la A1. Podeu notar que el codi no ho és Rang ("A1"). Copia més aviat diu Selecció. Copia, això es deu al fet que en el moment de seleccionar la cel·la es converteix en una cel·la activa o en una selecció. Així que es coneix com Selecció. Copia.

La tercera activitat és que hem seleccionat la cel·la A1 per enganxar, de manera que el codi és Rang ("A3"). Seleccioneu

L’activitat final és que hem enganxat el valor a la cel·la. Aquí diu Full actiu perquè en el moment que seleccioneu la cel·la es converteix en una cel·la activa del full actiu. Per tant, el codi és "ActiveSheet.Paste"

Així funciona el mètode Enganxa a VBA.

Fórmula

A continuació es mostra la fórmula del mètode d'enganxar VBA:

Expression.Paste (destinació, enllaç)

Una expressió no és res més que quin és el nom del full de càlcul que voleu enganxar. Per entendre l'objecte del full de càlcul, llegiu millor el nostre article sobre "Full de treball VBA".

Podeu fer referència a l’altre full de treball per nom si voleu enganxar-lo al mateix full de treball on heu copiat, podeu referir el full actual mitjançant “Full actiu”.

Destinació: Després d’esmentar el nom del full de càlcul, hem de referir l’adreça de la cel·la de destinació. Per exemple, si voleu enganxar al full de treball "Dades de venda" i a les cel·les A5 a A10, a continuació es mostra el codi de mostra.

Fulls de treball ("Dades de vendes"). Interval ("A5: A10")

Si ignoreu aquest argument, qualsevol que sigui la cel·la activa es tractarà com a cel·la de destinació.

Enllaç: Si voleu crear un enllaç a l'interval copiat, podeu proporcionar l'argument com a VERITAT o bé FALS.

Exemples de mètode d'enganxar a Excel VBA

A continuació es mostren els exemples del mètode d’enganxar Excel VBA.

Exemple 1: enganxar al mateix full de treball d'Excel

Ara vegem l’ús del mètode d’enganxar VBA al mateix full. Per exemple, una demostració, tinc pocs valors des de la cel·la A1 fins a la A5.

Ara vull copiar-ho i enganxar-lo a C1 a C5. Seguiu els passos següents per escriure el codi pel vostre compte.

Pas 1: Abans de publicar res, el primer que hem de fer és copiar l’interval de dades. Per tant, copieu l’interval d’A1 a A5.

Codi:

 Sub Pegar_Exemple1 () Interval ("A1: A5"). Copiar final Sub 

Pas 2: Després de copiar, hem d’especificar on enganxem. Per fer-ho primer hem d’especificar el nom del full de càlcul, en aquest cas, ja que estem enganxant al mateix full, utilitzeu l’objecte Full actiu.

Codi:

 Sub Pegar_Exemple1 () Interval ("A1: A5"). Copieu ActiveSheet. Enganxar final Sub 

Pas 3: Després de seleccionar el mètode d'enganxar, també hem d'especificar la destinació. Per tant, el destí serà el rang C1 a C5.

Codi:

 Sub Pegar_Exemple1 () Interval ("A1: A5"). Copieu ActiveSheet. Destinació de pasta: = Interval ("C1: C5") Finalitzar Sub 

Pas 4: Ara no vull crear cap enllaç a aquest mètode d'enganxar VBA, així que ignoraré el següent argument.

Ara executeu aquest codi amb la tecla F5 o manualment, es copiarà de A1 a A5 i s’enganxarà a C1 a C5.

Si mireu els valors de C1 a C5, aquests valors són els que es mostren en una cel·la d’A1 a A5. Per tant, aquest mètode d'enganxar VBA ho copia i enganxa tot.

Ara faré servir l’argument LINK per veure com funciona. Per a l'argument LINK he proporcionat CERT.

Codi:

 Sub Pegar_Exemple1 () Interval ("A1: A5"). Copieu ActiveSheet.Paste Link: = True End Sub 

Això crearà un enllaç a la cel·la d’A1 a A5.

Per tant, ha creat un enllaç. Una falta notable és el format de les cel·les aquí. No ha enganxat cap estil de format.

Exemple 2: enganxa en diferents fulls de treball d'Excel

La còpia d’un full de treball a un altre full requereix noms de full de treball. Suposem que voleu copiar les dades del full "Primer full" i que voleu enganxar al full "Segon full" que apareix a continuació és la manera de referir els fulls.

Codi:

 Sub Pegar_Exemple2 () Fulls de treball ("Primer full"). Rang ("A1: A5"). Copiar fulls de treball ("Segon full"). Enganxar destinació: = Rang ("C1: C5") Finalitzar sub 

Això copiarà les dades d'A1 a A5 del nom del full anomenat "Nom" i, a continuació, s'enganxarà al full "Segon full" en el rang C1 a C5.

Podeu descarregar la plantilla d'enganxar VBA aquí: - Plantilla Excel d'enganxar VBA