VBA – Seleccionar (y trabajar con) Filas y Columnas Enteras

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on abril 3, 2022

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
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples