El objeto Range, que es la representación de una célula (o células) en su hoja de trabajo, es el objeto más importante de Excel VBA. En este capítulo se ofrece un resumen de las propiedades y métodos del objeto Range. Las propiedades son cosa que un objeto tiene (que describen el objeto), mientras que los métodos hacen algo (que llevan a cabo una acción con un objeto).

Los ejemplos van

Coloque un enlace: / VBA crear a un macro-#-botón de comando [botón de comando] en su hoja de trabajo y añadir la siguiente línea de código:

Range("B3").Value = 2

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

Excel VBA Range Example

Código:

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

Resultado:

Range Example

Código:

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

Resultado:

Range Example

Nota: para hacer referencia a un rango con nombre

en el código VBA de Excel, utilice una línea de código como este:

Range("Prices").Value = 15

Las células

En lugar de la gama, también se pueden utilizar células. Uso de células es particularmente útil cuando se desea enlace: / VBA-bucle [lazo] a través de rangos.

Código:

Cells(3, 2).Value = 2

Resultado:

Cells in Excel VBA

Explicación: Excel VBA introduce el valor 2 en la célula en la intersección de la fila 3 y la columna 2.

Código:

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

Resultado:

Cells

Declarar un objeto Range

Se puede declarar un objeto Range mediante el uso de las palabras clave Dim y Set.

Código:

Dim example As Range

Set example = Range("A1:C4")

example.Value = 8

Resultado:

Declare a Range Object in Excel VBA

Seleccionar

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

Código:

Dim example As Range

Set example = Range("A1:C4")

example.Select

Resultado:

Select Method

Nota: para seleccionar las células en una hoja de cálculo diferente, tiene que activar primero esta hoja. Por ejemplo, las siguientes líneas de código seleccionar la celda B7 en la tercera hoja desde la izquierda.

Worksheets(3).Activate

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

Filas

La propiedad Filas 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:

Rows Property

Nota: la frontera sólo 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:

Columns Property

Nota: la frontera sólo para ilustración.

Copiar / Pegar

La Copiar y pegar método se utilizan para copiar un rango y para pegarlo en otro lugar de la hoja de trabajo.

Código:

Range("A1:A2").Select

Selection.Copy

Range("C3").Select

ActiveSheet.Paste

Resultado:

Copy/Paste Method

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

Range("C3:C4").Value = Range("A1:A2").Value

Borrar

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

Range("A1").ClearContents

o simplemente utilizar:

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 sólo el formato.

El conteo

Con la propiedad Count, se puede contar el número de celdas, filas y columnas de una gama.

Count Property

Nota: la frontera sólo para ilustración.

Código:

Dim example As Range

Set example = Range("A1:C4")

MsgBox example.Count

Resultado:

Count Cells

Código:

Dim example As Range

Set example = Range("A1:C4")

MsgBox example.Rows.Count

Resultado:

Count Rows

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