VBA – Seleccionar (y trabajar con) filas y columnas enteras – Automatizar Excel
Este tutorial demostrará cómo seleccionar y trabajar con filas o columnas enteras en VBA.
Primero cubriremos cómo seleccionar filas y columnas enteras, luego demostraremos cómo manipular filas y columnas.
Seleccionar filas o columnas enteras
Seleccionar una sola fila
Puede seleccionar una fila entera con el objeto Rows así:
Rows(5).Select
O puede utilizar EntireRow junto con los objetos Range o Cells:
Range("B5").EntireRow.Select
o
Cells(5,1).EntireRow.Select
También puedes utilizar el Objeto Rango para referirte específicamente a una Fila:
Range("5:5").Select
Seleccionar una sola columna
En lugar del Objeto Filas, utilice el Objeto Columnas para seleccionar columnas. Aquí puedes hacer referencia al número de columna 3:
Columns(3).Select
o a la letra «C», rodeada de comillas:
Columns("C").Select
En lugar de EntireRow, utiliza EntireColumn junto con los objetos Range o Cells para seleccionar columnas enteras:
Range("C5").EntireColumn.Select
o
Cells(5,3).EntireColumn.Select
También puedes utilizar el Objeto Rango para referirte específicamente a una columna:
Range("B:B").Select
Seleccionar varias filas o columnas
La selección de varias filas o columnas funciona exactamente igual cuando se utiliza EntireRow o EntireColumn:
Range("B5:D10").EntireRow.Select
o
Range("B5:B10").EntireColumn.Select
Sin embargo, cuando utilice los objetos Filas o Columnas, deberá introducir los números de fila o las letras de columna entre comillas:
Rows("1:3").Select
o
Columns("B:C").Select
Seleccionar Fila o Columna de Celda Activa
Para seleccionar la Fila o Columna de Celda Activa, puedes utilizar una de estas líneas de código:
ActiveCell.EntireRow.Select
o
ActiveCell.EntireColumn.Select
Seleccionar filas y columnas en otras hojas de trabajo
Para seleccionar filas o columnas en otras hojas de trabajo, primero debe seleccionar la hoja de trabajo.
Sheets("Sheet2").SelectRows(3).Select
Lo mismo ocurre cuando se seleccionan filas o columnas en otros libros de trabajo.
Workbooks("Book6.xlsm").ActivateSheets("Sheet2").SelectRows(3).Select
Nota: Debe activar el libro de trabajo deseado. A diferencia del objeto Hojas, el objeto Libro de trabajo no tiene un método de selección.
¿Es necesario seleccionar filas y columnas?
Sin embargo, (casi?) nunca es necesario seleccionar realmente filas o columnas. No es necesario seleccionar una fila o columna para interactuar con ellas. En su lugar, puede aplicar Métodos o Propiedades directamente a las Filas o Columnas. Las siguientes secciones demostrarán diferentes Métodos y Propiedades que se pueden aplicar.
Puede utilizar cualquier método de la lista anterior para referirse a Filas o Columnas.
Métodos y Propiedades de Filas & Columnas
Borrar Filas o Columnas enteras
Para borrar filas o columnas, utilice el Método Borrar:
Rows("1:4").Delete
o:
Columns("A:D").Delete
Insertar filas o columnas
Utiliza el método de inserción para insertar filas o columnas:
Rows("1:4").Insert
o:
Columns("A:D").Insert
Copiar & Pegar filas o columnas enteras
Pegar en una fila o columna existente
.
Al copiar y pegar filas o columnas enteras tienes que decidir si quieres pegar sobre una fila / columna existente o si quieres insertar una nueva fila / columna para pegar tus datos.
Estos primeros ejemplos copiarán y pegarán sobre una fila o columna existente:
Range("1:1").Copy Range("5:5")
o
Range("C:C").Copy Range("E:E")
Insertar & Pegar
Estos siguientes ejemplos pegarán en una fila o columna recién insertada.
Esto copiará la fila 1 y la insertará en la fila 5, desplazando las filas existentes hacia abajo:
Range("1:1").CopyRange("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").CopyRange("E:E").Insert
Ocultar / Desocultar filas y columnas
Para ocultar filas o columnas establezca sus propiedades ocultas en True. Utilice False para ocultar las filas o columnas:
'Hide RowsRows("2:3").EntireRow.Hidden = True'Unhide RowsRows("2:3").EntireRow.Hidden = False
o
'Hide ColumnsColumns("B:C").EntireColumn.Hidden = True'Unhide ColumnsColumns("B:C").EntireColumn.Hidden = False
Agrupar / Desagrupar Filas y Columnas
Si quiere Agrupar filas (o columnas) utilice código como este:
'Group RowsRows("3:5").Group'Group ColumnsColumns("C:D").Group
Para eliminar la agrupación utiliza este código:
'Ungroup RowsRows("3:5").Ungroup'Ungroup ColumnsColumns("C:D").Ungroup
Esto expandirá todos los niveles de contorno «agrupados»:
ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8
y esto colapsará todos los niveles de contorno:
ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1
Configurar el alto de la fila o el ancho de la columna
Para configurar el ancho de la columna utiliza esta línea de código:
Columns("A:E").ColumnWidth = 30
Para configurar el alto de la fila utiliza esta línea de código:
Rows("1:1").RowHeight = 30
Autoajustar altura de fila / ancho de columna
Para autoajustar una columna:
Columns("A:B").Autofit
Para autoajustar una fila:
Rows("1:2").Autofit
Filas y columnas en otras hojas de trabajo o libros de trabajo
Para interactuar con filas y columnas en otras hojas de trabajo, debe definir el objeto Hojas:
Sheets("Sheet2").Rows(3).Insert
De forma similar, para interactuar con filas y columnas en otros libros de trabajo, también debe definir el Objeto Libro de Trabajo:
Workbooks("book1.xlsm").Sheets("Sheet2").Rows(3).Insert
Obtener Fila o Columna Activa
Para obtener la fila o columna activa, puede utilizar las Propiedades de Fila y Columna del Objeto Celda Activa.
MsgBox ActiveCell.Row
o
MsgBox ActiveCell.Column
Esto también funciona con el Objeto Range:
MsgBox Range("B3").Column
.