VBA – Rango de Hoja de Trabajo

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on marzo 28, 2023

Este tutorial mostrará cómo utilizar la propiedad Range de hoja de cálculo en VBA.

La Propiedad Worksheet.Range en VBA se utiliza para especificar una celda o grupo de celdas en Excel. Devuelve el objeto Worksheet.Range que representa la celda o celdas y tiene una variedad de métodos disponibles como Select, Font, Copy y PasteSpecial por nombrar algunos.

Sintaxis de Worksheet.Range

La sintaxis de la propiedad Worksheet.Range es simple:

Worksheets("Nombre_de_Hoja").Range(Celda1,[Celda2])

donde Celda1 es obligatoria, y [Celda2] es opcional.

Por lo tanto para referirnos a la celda A1 de la hoja 1 escribiríamos:

Worksheets("Hoja1").Range("A1")

Para referirnos a las celdas A1 a A4 (incluyendo las celdas A2 y A3) en la Hoja1, podemos referirnos a la primera celda, luego usar dos puntos, y referirnos a la última celda del rango.

Worksheets("Hoja1").Range("A1:A4")

Alternativamente, podemos utilizar el argumento [Celda2]. Esto también incluiría las celdas A2 y A3 en el rango de la hoja de cálculo.

Worksheets("Hoja1").Range("A1", "A4")

Si queremos referirnos a 2 celdas que no son contiguas, podemos poner una coma entre las 2 direcciones de celda.

Worksheets("Hoja1").Range("A1, C1")

Propiedades y Métodos de Worksheet.Range

Una vez que hemos utilizado la Propiedad Range del Objeto Worksheet para referirnos a nuestro Rango, podemos utilizar una variedad de propiedades y métodos que ahora están disponibles para el Objeto Range para controlar la apariencia y/o el comportamiento de las celdas utilizando VBA.

Para ver las Propiedades y Métodos del Objeto Range, podemos escribir un punto después de haber declarado nuestro rango.

Propiedades Métodos Objeto Rango

 

Las propiedades se mostrarán con el pequeño icono de una ‘mano’, mientras que los métodos se mostrarán con el pequeño icono verde de un ‘bloque’.

Seleccionar Método

Uno de los métodos más comunes es el método de selección. Esto permite seleccionar celdas específicas o una celda en la hoja de cálculo de Excel.

Para seleccionar una sola celda en una hoja de cálculo, podemos hacer referencia a la celda en el objeto Worksheet.Range

Sub SeleccionarRango()
  Worksheets("Hoja1").Range("B2").Select
End Sub

Para seleccionar un rango de celdas, podemos referirnos a un rango de celdas en el objeto Worksheet.RangeObject.

Sub SeleccionarRango()
  Worksheets("Hoja1").Range("B2:C5").Select
End Sub

Muestra Ejemplo Objeto Range

 

Para seleccionar 2 rangos no contiguos, podemos utilizar una coma entre 2 rangos.

Sub SeleccionarRango()
 Worksheets("Hoja1").Range("B3:B5, C2:F2").Select
End Sub

Muestra Ejemplo Objeto Range Selección Rangos No Contiguos

 

Métodos Especiales Copiar y Pegar

Podemos copiar la información de celdas a otras celdas utilizando los métodos especiales Copiar y Pegar.

Sub WorksheetCopiarRango()
    Worksheets("Hoja1").Range("B2:F5").Copy
    Worksheets("Hoja1").Range("B8").PasteSpecial xlPasteAll
End Sub

Métodos Especiales Copiar y Pegar

 

Propiedad Font

Podemos utilizar la Propiedad Font para dar formato a las celdas. En el ejemplo siguiente, estamos utilizando la propiedad Negrita de la Propiedad Fuente para poner en negrita las celdas.

Sub CambiarFuente_a_Negrilla()
  Worksheets("Hoja1").Range("B3:B5, C2:F2").Font.Bold = True
End Sub

Cambiar Fuente a Negrilla Resultado

 

Propiedad Borders

Podemos utilizar la propiedad Borders, y luego la propiedad LineStyle de la propiedad Borders para poner bordes alrededor de todas las celdas.

Sub ColocarBordes_a_Rango()
    Worksheets("Hoja1").Range("B2:F5").Borders.LineStyle = xlContinuous
End Sub

Colocar Bordes a Rango

 

Propiedad CurrentRegion

Podemos utilizar la propiedad Current Region del objeto Range, y luego el método Select del objeto CurrentRegion para seleccionar todas las celdas que están dentro de la región actual de la celda especificada.

CurrentRegion seleccionará todas las celdas que estén adyacentes a la celda especificada en el Rango, siempre y cuando esas celdas sean contiguas. No seleccionará ninguna celda después de una fila o columna en blanco.

Sub CurrentRegion()
    Worksheets("Hoja1").Range("B2").CurrentRegion.Select
End Sub

Resultado Muestra Objeto CurrentRegion

 

Propiedad UsedRange

Si queremos seleccionar todas las celdas que están pobladas en una hoja de cálculo, necesitamos utilizar una Propiedad de la propia Hoja de Cálculo llamada UsedRange.

Sub Propiedad_UsedRange()
  Worksheets("Hoja1").UsedRange.Select
End Sub

Ejemplo Propiedad UsedRange

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