Copiar pegar en VBA

Copiar Pegar en VBA es similar a lo que hacemos en la hoja de cálculo de Excel, como podemos copiar un valor y pegarlo en otra celda, también podemos usar pegar especial para pegar solo los valores, de manera similar en VBA usamos el método de copia con la propiedad de rango para copiamos un valor de una celda a otra y para pegar el valor usamos la función de hoja de trabajo pegar especial o pegar método.

¿Cómo copiar pegar en VBA?

A continuación se muestran algunos ejemplos de cómo copiar y pegar en Excel usando VBA.

Lo básico que hacemos en Excel es copiar, cortar y pegar los datos de una celda a otra. Tampoco requiere una presentación especial. Sin embargo, mientras se aprende la codificación VBA es importante comprender el mismo concepto en el lenguaje de codificación. Copiar Pegar en VBA es la tarea de rutina que hacemos en el día a día en Excel. Para copiar primero, debemos decidir qué celda copiar.

Ejemplo n. ° 1: copiar y pegar valores usando un objeto de rango

Puede descargar esta plantilla de Excel para copiar y pegar de VBA aquí: plantilla de Excel para copiar y pegar de VBA

Suponga que tiene la palabra "Excel VBA" en la celda A1.

Digamos, por ejemplo, que si desea copiar la celda A1, podemos usar el objeto VBA RANGE.

Código:

Sub Copy_Example () Range ("A1"). End Sub

En el momento en que hace referencia a la celda, podemos ver todas las propiedades y métodos con ella. Así que seleccione el método " Copiar ".

Código:

 Sub Copy_Example () Rango ("A1"). Copiar End Sub 

Después de seleccionar el método, presione la tecla de espacio para ver el argumento del método Copiar.

Dice Destino.

Esto no es más que dónde desea copiar y pegar valores en VBA sin seleccionar el método PASTE.

Si estamos pegando en la misma hoja, podemos seleccionar la celda usando el objeto Range. Digamos que si queremos pegar el valor en la celda B3 podemos poner el destino como “Rango (“ B3 ”)” .

Código:

 Sub Copy_Example () Rango ("A1"). Destino de copia: = Rango ("B3") End Sub 

Esto copiará los datos de la celda A1 y los pegará en la celda B3.

También podemos utilizar el método siguiente para pegar los datos.

Código:

 Sub Copy_Example () Range ("A1"). Copiar rango ("B3"). Seleccione ActiveSheet.Paste End Sub 

Primero, copiaremos y seleccionaremos los datos de la celda A1 y los pegaremos en la celda B3.

Ejemplo n. ° 2: copiar a otra hoja de trabajo en el mismo libro de trabajo

Ahora, si queremos copiar y pegar el valor de las diferentes hojas de trabajo usando la macro VBA, entonces en el argumento de Destino necesitamos hacer referencia al nombre de la hoja usando el objeto WORKSHEETS y luego mencionar el rango de celdas en esa HOJA DE TRABAJO. El siguiente código hará el trabajo.

Código:

 Sub Copy_Example () Rango ("A1"). Destino de la copia: = Hojas de trabajo ("Hoja2"). Rango ("B3") Fin Sub 

Si queremos copiar los datos de una hoja en particular y queremos pegarlos en otra hoja en particular, necesitamos mencionar ambos nombres de las hojas.

En primer lugar, debemos mencionar la hoja de copia.

Hojas de trabajo ("Hoja1"). Rango ("A1"). Copiar

Luego, en el argumento Destino, debemos mencionar el nombre de la hoja de trabajo de destino y el rango de la celda.

Destino: = Hojas de trabajo ("Hoja2"). Rango ("B3")

Entonces, el código debería tener este aspecto.

Código:

 Sub Copy_Example () Hojas de trabajo ("Hoja1"). Rango ("A1"). Destino de la copia: = Hojas de trabajo ("Hoja2"). Rango ("B3") Fin Sub 

Ejemplo n. ° 3: copiar de un libro a otro libro

Hemos visto cómo copiar de una hoja de trabajo a otra hoja de trabajo en el mismo libro de trabajo. Pero también podemos hacer esto de un libro a otro.

Eche un vistazo al siguiente código.

Código:

 Sub Copy_Example () Libros de trabajo ("Libro 1.xlsx"). Hojas de trabajo ("Hoja1"). Rango ("A1"). Copiar libros de trabajo ("Libro 2.xlsx"). Activar ActiveWorkbook.Worksheets ("Hoja 2"). Seleccione ActiveSheet.Paste End Sub 

En primer lugar, copiará los datos de la hoja de trabajo "Hoja1" en el libro de trabajo "Libro1.xlsx" de la celda A1.

" Libros de trabajo (" Libro 1.xlsx "). Hojas de trabajo (" Hoja1 "). Rango (" A1 "). Copiar"

Luego activará el libro de trabajo “Libro 2.xlsx”.

Libros de trabajo ("Libro 2.xlsx"). Activar

En el libro de trabajo activo, seleccionará la hoja de trabajo "Hoja 2"

ActiveWorkbook.Worksheets ("Hoja 2"). Seleccione

Ahora en la hoja activa, pegará

ActiveSheet.Paste

Forma alternativa de usar Copiar Pegar en VBA

Tenemos una forma más alternativa de tener los datos de una celda a otra. Suponga que tiene la palabra "Excel VBA" en la celda A1 y necesita lo mismo en la celda B3.

Un método que hemos visto es usar el método de copiar y pegar de VBA, ahora le mostraré una de las formas alternativas. Mira el código a continuación para entenderlo.

Código:

 Sub Copy_Example1 () Rango ("A1"). Valor = Rango ("B3"). Valor Fin Sub 

Lo anterior dice que cualquiera que sea el valor en la celda A1 debe ser igual al valor en la celda B3.

Rango ("A1"). Valor = Rango ("B3"). Valor

Aunque este no es un método de copiar y pegar, aún agrega más valor a nuestro conocimiento de codificación.

Principales formas de copiar y pegar VBA como valores

Ahora veremos diferentes formas de copiar y pegar valores de VBA. Suponga que está en la celda A1 como se muestra en la imagen de abajo.

  • If we want to copy and paste we need to reference the cell here, rather we can just use a property of Selection. Copy method.

Code:

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

OR

 Sub Copy_Example1() ActiveCell.Copy Destination:=Range("B3") End Sub 
  • If you want to copy the entire used range of the worksheet you can use the below code.

Code:

 Sub Copy_Example2() Worksheets("Sheet1").UsedRange.Copy Destination:=Worksheets("Sheet2").Range("A1") End Sub 

This will copy the entire used range in the worksheet “Sheet1” and will paste the same in the worksheet “Sheet2”