VBA – Seleccionar (y trabajar con) Filas y Columnas Enteras
In this Article
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 completa con el objeto Rows de la siguiente manera
Rows(5).Select
O puede usar EntireRow junto con los objetos Range o Cells:
Range("B5").EntireRow.Select
o
Cells(5, 1).EntireRow.Select
También puede utilizar el objeto Range para referirse específicamente a una fila:
Range("5:5").Select
Seleccionar una sola Columna
En lugar del objeto Rows, utilice el objeto Columns para seleccionar columnas. Aquí puede hacer referencia a la columna número 3:
Columns(3).Select
o la letra «C», rodeada de comillas:
Columns("C").Select
En lugar de EntireRow, utilice EntireColumn junto con los objetos Range o Cells para seleccionar columnas enteras:
Range("C5").EntireColumn.Select
o
Cells(5,3).EntireColumn.Select
También puede utilizar el objeto Range para referirse específicamente a una columna:
Range("B:B").Select
Seleccionar Varias Filas o Columnas
La selección de múltiples 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 se utilizan los objetos Rows o Columns, se deben 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 ActiveCell
Para seleccionar la Fila o Columna de ActiveCell, puede 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("Hoja2").Select
Rows(3).Select
Lo mismo ocurre cuando se seleccionan filas o columnas en otros libros de trabajo.
Workbooks("Libro6.xlsm").Activate
Sheets("Hoja2").Select
Rows(3).Select
Nota: Debe activar el libro de trabajo deseado. A diferencia del Objeto Sheets, el Objeto Workbooks no tiene un Método Select
¿Es necesario seleccionar Filas y Columnas?
Sin embargo, (casi) nunca es necesario seleccionar Filas o Columnas. No necesita 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 mostrarán diferentes Métodos y Propiedades que pueden ser aplicados.
Puede utilizar cualquier método de la lista anterior para referirse a Filas o Columnas.
Métodos y Propiedades de Filas y Columnas
Borrar Filas o Columnas enteras
Para eliminar filas o columnas, utilice el método Delete:
Rows("1:4").Delete
o:
Columns("A:D").Delete
Insertar Filas o Columnas
Para insertar filas o columnas, utilice el método Insert:
Rows("1:4").Insert
o:
Columns("A:D").Insert
Copiar y pegar Filas o Columnas enteras
Pegar en una Fila o Columna existente
Al copiar y pegar filas o columnas entereas debe decidir si quiere pegar sobre una fila / columna existente o si quiere insertar una nueva fila / columna para pegar sus 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 y 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").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
Ocultar / Desocultar Filas y Columnas
Para ocultar filas o columnas establezca sus propiedades Hidden en True. Utilice False para mostrar las filas o columnas:
'Ocultar Filas
Rows("2:3").EntireRow.Hidden = True
'Mostrar filas
Rows("2:3").EntireRow.Hidden = False
o
'Ocultar columnas
Columns("B:C").EntireColumn.Hidden = True
'Mostrar columnas
Columns("B:C").EntireColumn.Hidden = False
Agrupar / Desagrupar Filas y Columnas
Si quieres agrupar filas (o columnas) utiliza un código como el siguiente:
'Agrupar Filas
Rows("3:5").Group
'Agrupar Columnas
Columns("C:D").Group
Para eliminar la agrupación utilice este código:
'Desagrupar Filas
Rows("3:5").Ungroup
'Desagrupar columnas
Columns("C:D").Ungroup
Esto expandirá todos los niveles del esquema «agrupados»:
ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8
y esto colapsará todos los niveles de esquema:
ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1
Establecer el Alto de Fila o el Ancho de Columna
Para establecer el ancho de la columna utilice esta línea de código:
Columns("A:E").ColumnWidth = 30
Para establecer el alto de las filas utilice esta línea de código:
Rows("1:1").RowHeight = 30
Ajuste automático del Alto de la Fila / Ancho de la Columna
Para autoajustar una columna:
Columns("A:B").Autofit
Para autoajustar una fila:
Rows("1:2").Autofit
Filas y Columnas en otras Hojas o Libros de Trabajo
Para interactuar con filas y columnas en otras hojas de trabajo, debes definir el objeto Sheets:
Sheets("Hoja2").Rows(3).Insert
Del mismo modo, para interactuar con filas y columnas en otros libros de trabajo, también debe definir el objeto Workbook
Workbooks("Libro1.xlsm").Sheets("Hoja2").Rows(3).Insert
Obtener la Fila o Columna Activa
Para obtener la fila o columna activa, puedes utilizar las Propiedades Row y Column del Objeto ActiveCell.
MsgBox ActiveCell.Row
o
MsgBox ActiveCell.Column
Esto también funciona con el objeto Range:
MsgBox Range("B3").Column