El objeto Range , que es la representación de una celda (o celdas) en su hoja de trabajo, es el objeto más importante de Excel VBA . Este capítulo ofrece una descripción general de las propiedades y métodos del objeto Range. Las propiedades son algo que tiene un objeto (describen el objeto), mientras que los métodos hacen algo (realizan una acción con un objeto).

Ejemplos de rango

Coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

Range("B3").Value = 2

Resultado al hacer clic en el botón de comando en la hoja:

Ejemplo de rango de Excel VBA

Código:

Range("A1:A4").Value = 5

Resultado:

Ejemplo de rango

Código:

Range("A1:A2,B3:C4").Value = 10

Resultado:

Ejemplo de rango

Nota: para hacer referencia a un rango con nombre en su código de Excel VBA, use una línea de código como esta:

Range("Prices").Value = 15

Células

En lugar de Rango, también puede usar Celdas. Uso de células es particularmente útil cuando se desea bucle a través de rangos.

Código:

Cells(3, 2).Value = 2

Resultado:

Celdas en Excel VBA

Explicación: Excel VBA ingresa el valor 2 en la celda en la intersección de la fila 3 y la columna 2.

Código:

Range(Cells(1, 1), Cells(4, 1)).Value = 5

Resultado:

Células

Declarar un objeto de rango

Puede declarar un objeto Range utilizando las palabras clave Dim y Set.

Código:

Dim example As Range
Set example = Range("A1:C4")

example.Value = 8

Resultado:

Declarar un objeto de rango en Excel VBA

Seleccione

Un método importante del objeto Range es el método Select. El método Seleccionar simplemente selecciona un rango.

Código:

Dim example As Range
Set example = Range("A1:C4")

example.Select

Resultado:

Seleccionar método

Nota: para seleccionar celdas en una hoja de trabajo diferente, primero debe activar esta hoja. Por ejemplo, las siguientes líneas de código seleccionan la celda B7 en la tercera hoja de trabajo de la izquierda.

Worksheets(3).Activate
Worksheets(3).Range("B7").Select

Filas

La propiedad Rows da acceso a una fila específica de un rango.

Código:

Dim example As Range
Set example = Range("A1:C4")

example.Rows(3).Select

Resultado:

Propiedad Rows

Nota: borde solo para ilustración.

Columnas

La propiedad Columns da acceso a una columna específica de un rango.

Código:

Dim example As Range
Set example = Range("A1:C4")

example.Columns(2).Select

Resultado:

Propiedad de columnas

Nota: borde solo para ilustración.

Copiar pegar

El método Copiar y Pegar se usa para copiar un rango y pegarlo en otro lugar de la hoja de trabajo.

Código:

Range("A1:A2").Select
Selection.Copy

Range("C3").Select
ActiveSheet.Paste

Resultado:

Método de copiar / pegar

Aunque esto está permitido en Excel VBA, es mucho mejor usar la línea de código a continuación que hace exactamente lo mismo.

Rango ("C3: C4"). Valor = Rango ("A1: A2"). Valor

Claro

Para borrar el contenido de un rango de Excel, puede utilizar el método ClearContents.

Range("A1").ClearContents

o simplemente usa:

Range("A1").Value = ""

Nota: utilice el método Clear para borrar el contenido y el formato de un rango. Utilice el método ClearFormats para borrar solo el formato.

Contar

Con la propiedad Count, puede contar el número de celdas, filas y columnas de un rango.

Contar propiedad

Nota: borde solo para ilustración.

Código:

Dim example As Range
Set example = Range("A1:C4")
MsgBox example.Count

Resultado:

Contar celdas

Código:

Dim example As Range
Set example = Range("A1:C4")
MsgBox example.Rows.Count

Resultado:

Contar filas

Nota: de manera similar, puede contar el número de columnas de un rango.

14/1 Completado! Más información sobre el objeto de rango>
Siguiente capítulo: Variables