Articles

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

.

Dejar una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *