Código VBA: Trabajar con el objeto Range

Continuando con nuestras lecciones de VBA, vamos a ver un ejemplo de la utilización del objeto «Range«. Este objeto hace referencia, como indica su propio nombre, a un rango de celdas. Es, a su vez, una propiedad del objeto «Workseet» y requiere o que haya una hoja activa, o que incluya una referencia a una hoja.

Vamos a abrir un libro de Excel nuevo al que llamaremos «Ejemplo«. Como siempre iremos a la pestaña Desarrollador/Programador y crearemos un procedimiento Sub llamado «Ranguitos«.

De otros ejemplos que hemos ido comentando sabemos que la dirección de las celdas a las cuales se refiere el objeto Range tiene que ir entre comillas y que si se refiere a un rango que está en un libro o una hoja distinta de la activa tiene que indicar la ubicación del objeto, por ejemplo: Workbooks(«Ejemplo»).Worksheets(«Hoja 1»).Range(«A1:D3») hace referencia al rango A1:D3 en la hoja 1 del libro Ejemplo.

Range01

También podemos seleccionar filas y columnas completas, por ejemplo: Workbooks(«Ejemplo»).Worksheets(«Hoja 1»).Range(«A:A»).select , selecciona toda la columna A, lo podemos comprobar tan facilmente como ejecutar el procedimiento. Si por ejemplo queremos seleccionar la fila 5, sustituiremos el rango por Range(«5:5»), como se aprecia en la imagen:

Range02

… Y en el caso de que quisiesemos seleccionar las columnas 4, 5 y 6 simultaneamente escribiríamos:

Workbooks(«Ejemplo»).Worksheets(«Hoja1»).Range(«4:6»).Select

Range03

Existen otras formas de expresar la misma instrucción, por ejemplo la instrucción para que nos seleccione el rango de celdas comprendido entre A1 y A3 la podemos escribir de estas tres formas:

Range04

De igual modo si hemos asignado un nombre a una celda también podemos sustituir la ubicación de esta celda por el nombre que le hayamos asignado, esto es muy útil cuando trabajamos con multitud de datos y hacemos uso de la asignación de nombres para por ejemplo cuando estamos utilizando fórmulas complejas en análisis de escenarios. Pero para no complicar nuestro ejemplo y a efectos prácticos vamos a asignar un nombre (por ejemplo, «Cuota«) a la celda G8.

Para asignar un nombre a un celda tan solo tendremos que dirigirnos a la pestaña "Fórmulas" y allí seleccionar "Asignar nombre a un rango" del grupo "Nombre definidos". En la ventana que se abrirá a continuación se nos indicará la referencia de la celda como se nos pedirá escribir un nombre que queramos darle y de manera voluntaria podremos añadir una pequeña descripción.
Para asignar un nombre a un celda tan solo tendremos que dirigirnos a la pestaña «Fórmulas» y allí seleccionar «Asignar nombre a un rango» del grupo «Nombre definidos». En la ventana que se abrirá a continuación se nos indicará la referencia de la celda como se nos pedirá escribir un nombre que queramos darle y de manera voluntaria podremos añadir una pequeña descripción.

Si sustituimos G8 por el nombre asignado, nuestra macro funcionará igualmente:

Range06

 

 

 


Descubre más desde Asiento descuadrado

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *