Pasta VBA (Guía paso a paso) - ¿Cómo pegar datos usando el código VBA?

Tabla de contenido

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, comprendamos 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 la 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, simplemente haga clic en Aceptar.

Paso 3: En el momento en que haces clic, está bien, comienza a registrar las actividades que haces. 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, pegue 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”) Seleccionar

La siguiente actividad es que copiamos la celda A1. Puede notar que aquí el código no es Rango ("A1"). Copie más bien dice Selección. Copia, esto se debe a que en el momento en que selecciona la celda, se convierte en una celda activa o en una selección. Por eso se le llama 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 la "Hoja de trabajo de VBA".

Puede consultar la otra hoja de trabajo por su nombre. Si desea pegar en la misma hoja de trabajo donde ha copiado, puede consultar la hoja actual por "Hoja activa".

Destino: después de mencionar el nombre de la hoja de trabajo, debemos 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 pegar 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 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, estas áreas de valores 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 de 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 de trabajo requiere nombres de hoja 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 desde el nombre de la hoja llamado "Nombre", luego se pegará en la hoja "Segunda hoja" en el rango C1 a C5.

Puede descargar la plantilla VBA Paste aquí: - VBA Paste Excel Template

Articulos interesantes...