VBA – Seleccionar Rango / Celdas

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on febrero 21, 2022

VBA permite seleccionar una celda, rangos de celdas o todas las celdas de la hoja de cálculo. Puede manipular la celda o rango seleccionado utilizando el Objeto Selection.

Seleccionar una sola celda con VBA

Puede seleccionar una celda en una hoja de trabajo utilizando el método Select. El siguiente código seleccionará la celda A2 en la Hoja de Trabajo Activa:

Range("A2").Select

O

Cells(2, 1).Select

El resultado es:

Selecting a Single Cell in VBA

Seleccionar un rango de celdas usando VBA

Puedes seleccionar un grupo de celdas en una hoja de trabajo utilizando el método Select y el objeto Range. El siguiente código seleccionará A1:C5:

Range("A1:C5").Select

Seleccionar un rango de celdas no contiguas utilizando VBA

Puedes seleccionar celdas o rangos que no estén contiguos, separando las celdas o rangos usando una coma en VBA. El siguiente código le permitirá seleccionar las celdas A1, C1 y E1:

Range("A1, C1, E1").Select

También puede seleccionar conjuntos de rangos no contiguos en VBA. El siguiente código seleccionará A1:A9 y B11:B18:

Range("A1:A9, B11:B18").Select

Seleccionar todas las celdas de una hoja de cálculo

Puedes seleccionar todas las celdas de una hoja de cálculo utilizando VBA. El siguiente código seleccionará todas las celdas de una hoja de trabajo.

Cells.Select

Seleccionar una Fila

Puedes seleccionar una fila determinada en una hoja de trabajo utilizando el objeto Row y el número de índice de la fila que quieres seleccionar. El siguiente código seleccionará la primera fila de la hoja de trabajo:

Rows(1).Select

Seleccionar una Columna

Puedes seleccionar una determinada columna en una hoja de trabajo utilizando el objeto Columns y el número de índice de la columna que quieres seleccionar. El siguiente código seleccionará la columna C en su hoja de trabajo:

Columns(3).Select

Seleccionar la última celda no vacía de una columna

Digamos que tienes datos en las celdas A1, A2, A3 y A4 y que quieres seleccionar la última celda que no está en blanco, que sería la celda A4 de la columna. Para ello puedes utilizar VBA y el método Range.End.

El Método Range.End puede tomar cuatro argumentos: xlToLeft, xlToRight, xlUp y xlDown.

El siguiente código seleccionará la última celda que no esté en blanco, que sería A4 en este caso, si A1 es la celda activa:

Range("A1").End(xlDown).Select

Seleccionar la última celda no vacia de una fila

Digamos que tienes datos en las celdas A1, B1, C1, D1 y E1 y que quieres seleccionar la última celda que no está en blanco, que sería la celda E1 de la fila. Para ello puedes utilizar VBA y el método Range.End.

El siguiente código seleccionará la última celda que no esté en blanco que sería E1 en este caso, si A1 es la celda activa:

Range("A1").End(xlToRight).Select

Seleccionar la región actual en VBA

Puedes utilizar la Propiedad CurrentRegion del objeto Range para seleccionar un rango rectangular de celdas en blanco y no en blanco alrededor de una celda de entrada específica. Si tienes datos en las celdas A1, B1 y C1, el siguiente código seleccionaría esta región alrededor de la celda A1:

Range("A1").CurrentRegion.Select

Entonces el rango A1:C1 sería seleccionado.

Seleccionar una celda que es relativa a otra celda

Puede utilizar la Propiedad Offset para seleccionar una celda que es relativa a otra celda. El siguiente código muestra cómo seleccionar la celda B2, que es una fila y una columna relativa a la celda A1:

Range("A1").Offset(1, 1).Select

Seleccionar un rango con nombre en Excel

Puedes seleccionar Rangos con nombre también. Digamos que has nombrado las celdas A1:A4 Fruta. Puedes usar el siguiente código para seleccionar este rango con nombre:

Range("Fruta").Select

Seleccionar una celda en otra hoja de cálculo

Para seleccionar una celda en otra hoja de cálculo, primero necesitas activar la hoja utilizando el método Worksheets.Activate. El siguiente código le permitirá seleccionar la celda A1, en la hoja denominada Hoja5:

Worksheets("Hoja5").Activate
Range("A1").Select

Manipulación del objeto de selección en VBA

Una vez que hayas seleccionado una celda o rango de celdas, puedes referirte al Objeto Selection para manipular estas celdas. El siguiente código selecciona las celdas A1:C1 y establece el tipo de fuente de estas celdas en Arial, el remarcado de la fuente en negrita, el estilo de la fuente en cursiva y el color de relleno en verde.

Sub FormatoSelection()
Range("A1:C1").Select
 
Selection.Font.Name = "Arial"
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Interior.Color = vbGreen
 
End Sub

El resultado es:

Using the Selection Object

Usando la sentencia With…End With

Podemos repetir el ejemplo anterior utilizando la sentencia With / End With para referirnos al objeto de selección sólo una vez. Esto ahorra escribir y generalmente hace que su código sea más fácil de leer.

Sub UsandoWithEndWithSelection()
Range("A1:C1").Select
 
With Selection
.Font.Name = "Arial"
.Font.Bold = True
.Font.Italic = True
.Interior.Color = vbGreen
End With
 
End Sub
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