VBA Copiar Pegar - Principales formas de copiar y pegar en VBA (con ejemplos)

Tabla de contenido

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

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

Digamos, por ejemplo, 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 () Range ("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 nada, pero ¿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"). Copy Range ("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 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 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:

SubCopy_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.

Workbooks("Book 1.xlsx").Worksheets("Sheet1").Range("A1").Copy”

Then it will activate the workbook “Book 2.xlsx”.

Workbooks("Book 2.xlsx").Activate

In the active workbook, it will select the worksheet “Sheet 2.”

ActiveWorkbook.Worksheets("Sheet 2").Select

Now in the active sheet, it will paste.

ActiveSheet.Paste

Alternative Way for using Copy-Paste in VBA

We have one more alternative way of having the data from one cell to another cell. Assume you have the word “Excel VBA” in the cell A1 and you need the same to come in cell B3.

One method we have seen is using the VBA copy and paste method. Now I will show you one of the alternative ways. Look at the below piece of code to understand.

Code:

Sub Copy_Example1() Range("A1").Value = Range("B3").Value End Sub

The above says whatever the value is there in the cell A1 should be equal to the value in the cell B3.

Range("A1").Value = Range("B3").Value

Even though this is not a copy and paste method still adds more value to our coding knowledge.

Top Ways of VBA Copy and Paste as Values

Now we will see different ways of VBA copy and paste values. Assume you are in the cell A1 as shown in the below image.

  • 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 Destino: = Worksheets ("Sheet2"). Range ("A1") End Sub

Esto copiará todo el rango usado en la hoja de trabajo "Hoja1" y lo pegará en la hoja de trabajo "Hoja2".

Articulos interesantes...