VBA Copiar / Pegar Filas y Columnas
In this Article
Este tutorial le enseñará cómo copiar (o cortar) filas enteras o columnas utilizando VBA. Cubrimos copiar y pegar rangos de celdas en otro artículo.
Primero le mostraremos cómo pegar o insertar filas/columnas copiadas y discutiremos las diferencias. Luego le mostraremos todas las diferentes maneras de hacer referencia a filas y columnas al copiar o cortar.
Filas y Columnas – Pegar vs. Insertar
Al pegar filas y columnas tiene dos opciones: Puede pegar sobre la fila (o columna) existente o puede insertar una nueva fila (o columna).
Veamos la diferencia…
Copiar y pegar sobre la fila / columna existente
Esto copiará la fila 1 y la pegará en la fila 5 existente:
Range("1:1").Copy Range("5:5")
Esto copiará la columna C y la pegará en la columna E:
Range("C:C").Copy Range("E:E")
Copiar e Insertar Fila / Columna
En su lugar, puede insertar la fila o columna copiada y desplazar las filas o columnas existentes para hacer espacio.
Esto copiará la fila 1 y la insertará en la fila 5, desplazando las filas existentes hacia abajo:
Range("1:1").Copy
Range("5:5").Insert
Esto copiará la columna C y la insertará en la columna E, desplazando las columnas existentes hacia la derecha:
Range("C:C").Copy
Range("E:E").Insert
Copiar toda la fila
A continuación mostraremos varias formas de copiar la fila 1 y pegarla en la fila 5.
Range("1:1").Copy Range("5:5")
Range("A1").EntireRow.Copy Range("A5")
Rows(1).Copy Rows(5)
Cortar y pegar filas
Simplemente usa Cut en lugar de Copy para cortar y pegar filas:
Rows(1).Cut Rows(5)
Copiar Varias Filas
Aquí hay ejemplos de copiar múltiples filas a la vez:
Range("5:7").Copy Range("10:13")
Range("A5:A7").EntireRow.Copy Range("A10:A13")
Rows(5:7).Copy Rows(10:13)
Copiar columna entera
Puede copiar columnas enteras de forma similar a la copia de filas enteras:
Range("C:C").Copy Range("E:E")
Range("C1").EntireColumn.Copy Range("C1").EntireColumn
Columns(3).Copy Range(5)
Cortar y pegar columnas
Para cortar y pegar columnas basta con utilizar Cut en lugar de Copy:
Range("C:C").Cut Range("E:E")
Copiar varias columnas
Aquí hay ejemplos de cómo copiar varias columnas a la vez:
Range("C:E").Copy Range("G:I")
Range("C1:E1").EntireColumn.Copy Range("G1:I1")
Columns(3:5).Copy Columns(7:9)
Copiar filas o columnas en otra hoja
Para copiar a otra hoja, simplemente utiliza el objeto Sheets:
Sheets("hoja1").Range("C:E").Copy Sheets("hoja2").Range("G:I")
Cortar filas o columnas en otra hoja
Puedes utilizar exactamente la misma técnica para cortar y pegar filas o columnas en otra hoja.
Sheets("hoja1").Range("C:E").Cut Sheets("hoja2").Range("G:I")