Pasta VBA

Pasta de Excel VBA

Hay tres formas diferentes de pegar algunos datos de un lugar a otro en una hoja de trabajo usando VBA, el primer método es normalmente referir los valores de una celda a otra usando el operador de asignación, otro método es usando la función de pegar y el tercer método es mediante el uso de la función pastespecial.

Copiar y pegar es lo más común que hacemos todos los días en nuestro lugar de trabajo. En una hoja de cálculo normal, no necesitamos ninguna introducción especial a ella. En la programación de VBA es muy importante comprender el concepto del método "PASTE" para comprender el programa para avanzar al siguiente nivel.

Comprender el método de pegado de VBA mediante la grabación de una macro

Para comenzar el procedimiento, entendamos cómo funciona el método de pegado grabando una macro simple. Ingresé un valor en la celda A1 como se muestra en la imagen de abajo.

Ahora te mostraré el método de copiar y pegar de la celda A1 a A3. Siga los pasos a continuación para grabar una macro.

Paso 1: haga clic en Grabar macro en la pestaña de desarrollador de Excel.

Paso 2: En el momento en que haga clic en grabar macro, le mostrará el nombre de la macro predeterminada. A partir de ahora, haga clic en Aceptar.

Paso 3: En el momento en que hace clic en Aceptar, comienza a registrar las actividades que realiza. Lo primero que debe hacer es seleccionar la celda A1 para copiar.

Paso 4: Ahora presione Ctrl + C para copiar la celda seleccionada.

Paso 5: Ahora seleccione la celda A3 donde necesitamos pegar el valor copiado.

Paso 6: Ahora pega presionando Ctrl + V.

Paso 7: Ahora detenga las grabaciones.

Vaya a un editor visual básico para ver las grabaciones. A continuación se muestra la grabación.

Lo primero que hemos hecho aquí es “hemos seleccionado la celda A1”, por lo que el código para esta actividad es Rango (“A1”).

La siguiente actividad es que copiamos la celda A1. Puede notar que aquí el código no es Rango ("A1"). Copie en lugar de decir Selección. Copia, esto se debe a que en el momento en que selecciona la celda, se convierte en celda activa o en selección. Por lo que se conoce como Selección. Copiar .

La tercera actividad fue que seleccionamos la celda A1 para pegar, por lo que el código es Rango ("A3"). Seleccione

La actividad final es que hemos pegado el valor en la celda. Aquí dice Hoja activa porque en el momento en que selecciona la celda, se convierte en una celda activa de la hoja activa. Entonces el código es "ActiveSheet.Paste"

Así es como funciona el método Paste en VBA.

Fórmula

A continuación se muestra la fórmula para el método de pegar VBA:

Expression.Paste (Destino, Enlace)

Una expresión no es más que el nombre de la hoja de trabajo que desea pegar. Para comprender mejor el objeto de la hoja de trabajo, lea nuestro artículo sobre "Hoja de trabajo VBA".

Puede hacer referencia a la otra hoja de trabajo por su nombre si desea pegar en la misma hoja de trabajo donde ha copiado, puede hacer referencia a la hoja actual por “Hoja activa”.

Destino: Después de mencionar el nombre de la hoja de trabajo, necesitamos referirnos a la dirección de la celda de destino. Por ejemplo, si desea pegar en la hoja de trabajo "Datos de venta" y en la celda A5 a A10, a continuación se muestra el código de muestra.

Hojas de trabajo ("Datos de ventas"). Rango ("A5: A10")

Si ignora este argumento, la celda activa se tratará como celda de destino.

Enlace: si desea crear un enlace al rango copiado, puede proporcionar el argumento como VERDADERO o FALSO.

Ejemplos de método de pegar en Excel VBA

A continuación se muestran los ejemplos del método de pegado de Excel VBA.

Ejemplo n. ° 1: pegar en la misma hoja de cálculo de Excel

Ahora veamos el uso del método de pegado VBA en la misma hoja. Por ejemplo, una demostración, tengo algunos valores de la celda A1 a A5.

Ahora quiero copiar esto y pegarlo de C1 a C5. Siga los pasos a continuación para escribir el código por su cuenta.

Paso 1: antes de publicar algo, lo primero que debemos hacer es copiar el rango de datos. Entonces copie el rango de A1 a A5.

Código:

 Sub Paste_Example1 () Range ("A1: A5"). Copiar End Sub 

Paso 2: Después de copiar, debemos especificar dónde vamos a pegar. Para hacer esto, primero necesitamos especificar el nombre de la hoja de trabajo, en este caso, dado que estamos pegando en la misma hoja, use el objeto Hoja activa.

Código:

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

Paso 3: Después de seleccionar el método de pegado, también debemos especificar el destino. Entonces el destino será el rango C1 a C5.

Código:

 Sub Paste_Example1 () Rango ("A1: A5"). Copiar ActiveSheet.Paste Destino: = Rango ("C1: C5") End Sub 

Paso 4: Ahora no quiero crear ningún enlace a este método de pegado de VBA, así que estoy ignorando el siguiente argumento.

Ahora ejecute este código usando la tecla F5 o manualmente, copiará de A1 a A5 y pegará de C1 a C5.

Si observa los valores de C1 a C5, estos valores son como están en una celda de A1 a A5. Entonces, este método de pegado de VBA copia todo y pega todo.

Ahora usaré el argumento LINK para ver cómo funciona. Para el argumento LINK he proporcionado VERDADERO.

Código:

 Sub Paste_Example1 () Range ("A1: A5"). Copiar ActiveSheet.Paste Link: = True End Sub 

Esto creará un enlace a la celda de A1 a A5.

Entonces ha creado un enlace. Una falta notable es el formato de las celdas aquí. No ha pegado ningún estilo de formato.

Ejemplo n. ° 2: pegar en una hoja de cálculo de Excel diferente

Copiar de una hoja de trabajo a otra hoja requiere nombres de hojas de trabajo. Suponga que desea copiar los datos de la hoja "Primera hoja" y que desea pegar en la hoja "Segunda hoja" a continuación es la forma de referir las hojas.

Código:

 Sub Paste_Example2 () Hojas de trabajo ("Primera hoja"). Rango ("A1: A5"). Copiar hojas de trabajo ("Segunda hoja"). Pegar Destino: = Rango ("C1: C5") Fin Sub 

Esto copiará los datos de A1 a A5 del nombre de la hoja llamado "Nombre" y luego los pegará en la hoja "Segunda hoja" en el rango C1 a C5.

Puede descargar la plantilla de pegado de VBA aquí: - Plantilla de Excel de pegado de VBA