Diferentes Formas de Expresar un Rango de Celdas

En VBA para crear o referirse a un objeto constituido por un rango de celdas pueden utilizarse diferentes formas, utilizándose las propiedades Range y Cells combinados con los operadores de rango (:) y de unión (,); así como el uso de nombre de rangos o variables. También se utilizan los métodos Offset y Resize. (Billo, 2007)

1.     Usando la propiedad Range con una dirección. La dirección está en formato A1 y debe estar entre comillas.

 

1.1.  Para referirse a una sola celda: Range(“A1”)

 

1.2. Dirección definida utilizando el operador de rango (:).

Para referirse a un rango de celdas: Range(“A1:A10”)

 

1.3. Dirección definida utilizando el operador de unión (,).

Para referirse a un rango de celdas: Range(“A1” , “A10”)

 

2.     Usando la propiedad Cells con las coordenadas de la celda, numero de fila y columna.

El primer número indica el número de la fila y el segundo el número de columna. Cells(fila, columna).

Para referirse a la celda que está ubicada en la fila 15, columna 5 (E15)

Cells(15,5).

 

3.     Usando la propiedad Cells con variables para la fila y la columna.

Cells(NumF,NumC)

Donde NumF y NumC son variables previamente definidas, con valores enteros asignados.

 

4.     Usando la propiedad Range con un nombre de rango, el nombre del rango debe colocarse entre comillas y debe haber sido creado previamente.

Range(“Dir1”)

El nombre del rango Dir1 ha sido creado previamente.

 

5.     Usando la propiedad Range con una variable.

Range(Dir2)

La variable Dir2 ha sido previamente definida, utilizando declaraciones como la siguiente:

Dir2=Selection.Address

 

6.     Usando la propiedad Range en combinación con Cells

Range(Cells(1,1), Cells(5,5))

Esta expresión se refiere al rango A1:E5. Este método es útil cuando tanto las referencias a las filas como a las columnas deben ser calculadas.

 

7.     Usando la propiedad Range con el operador & (ampersand)

FilaSup=2 : FilaInf=12

Range(“F”&FilaSup&”:G”&FilaInf)

Estas expresiones dan como resultado el rango (“F2:G12”)

 

8.     Usando la propiedad Range con Cells(Indice)

Range(“A1:A12”).Cells(5)

Esta expresión da como resultado la celda A5. Este método provee la forma de seleccionar una celda específica dentro de un rango de celdas. La numeración comienza en la primera celda del rango y se mueve a lo largo de la fila de izquierda a derecha, y luego avanza hacia la siguiente columna.

Diferentes formas de expresar un rango 1

En la gráfica se muestra el rango “B2:E4” y la forma en que se numeran las celdas. Si colocáramos los siguientes comandos estos se referirían a:

Range(“B2:E4”).Cells(1) se refiere a la celda B2, la cual es la primera celda del rango.

Range(“B2:E4”).Cells(5) se refiere a la celda B3, y

Range(“B2:E4”).Cells(12) se refiere a la celda E4.

 

9.     Usando la propiedad Range con el método Offset

El método Offset tiene como objetivo mover la celda activa, el primer número es el número de filas a mover y el segundo representa el número de columnas.

Si el número es positivo se mueve la celda hacia la derecha en el caso de las fila y hacia abajo en el caso de columnas. Si el número es negativo los movimientos son hacia la izquierda y hacia arriba para filas y columnas respectivamente.

Sub Test3()

Cells.Clear

Range(“A1”).Offset(3, 1) = “Hola”

End Sub

En este ejemplo se utiliza el método Offset para colocar la palabra Hola en la celda B4.

Diferentes formas de expresar un rango 2

 

 

En este ejemplo se utiliza el método Offset para seleccionar el rango B4:B15

 

Sub Test4()

Cells.Clear

Range(“A1:A12”).Offset(3, 1).Select

End Sub

Diferentes formas de expresar un rango3

10.           Usando la propiedad Range con los métodos Offset y Resize

El método Resize se utiliza para cambiar el tamaño de un rango de celdas. En el siguiente ejemplo se selecciona la celda B4.

 

Sub Test5()

Cells.Clear

Range(“A1:A12”).Offset(3, 1).Resize(1, 1).Select

End Sub

Diferentes formas de expresar un rango 4

Anuncios

1 comentario en “Diferentes Formas de Expresar un Rango de Celdas”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s