Las propiedades Row y Column se utilizan para conocer el número de fila y Columna en la cual se encuentra la celda activa. Uno de las aplicaciones más frecuentes es para conocer la ubicación de la última fila con datos en una lista o tabla.
Para obtener el valor de la celda o columna se utilizan instrucciones como las siguientes:
Variable = ObjetoRange.Row
Variable = ObjetoRange.Column
NumFila= ActiveCell.Row
UltimaFila = Worksheets(“Hoja3”).Range(“A”&Rows.Count). _ End(xlUp).Row
Cuál es la Celda Activa
La celda activa es la celda que se encuentra marcada en la hoja de Excel. Cada vez que hacemos clic sobre una celda en la hoja, esta se convierte en la celda activa. En cualquier momento solo una celda es la celda activa.
En la gráfica se muestra un rectángulo de color verde que resalta la celda C6, esto nos indica que esta es la celda activa. La celda activa en VBA se indica con la propiedad ActiveCell.
Si quisiéramos, por ejemplo, colocar texto en negrita en la celda activa, la celda en la cual se encuentra el rectángulo resaltado de color verde, podríamos utilizar la siguiente instrucción:
ActiveCell.Font.Bold = True
Celda Activa en un Rango de Celdas
Cuando seleccionamos un rango de celdas, la celda activa es la primera celda de ese rango, donde anclamos el cursor y arrastramos el raton para definir dicho rango.
En la figura se observa el rango A1:C10 rodeado por un rectángulo de color verde y con las celdas rellenas de color gris, a excepción de la celda A1, que permanece de color blanco. La celda A1, es la celda activa de ese rango. Otra indicación es el rectángulo en la parte superior izquierda de la hoja (Cuadro de Nombre) con la indicación A1, la cual es la celda activa.
En el siguiente procedimiento se va a crear un rango y se va a cambiar la celda activa con el método Activate.
Cuando se ejecuta la instrucción
Worksheets(«Hoja4»).Range(«A4:B6»).Select
Se crea el rango A4:B6 y se selecciona, se puede observar en la figura el rectángulo de color verde encerrando el rango seleccionado y las celdas rellenas de color gris, excepto la celda A4, que es la celda activa.
Selection.Value = «Hola»
Copia en el rango seleccionado la palabra Hola.
ActiveCell.Offset(1, 1).Activate
Mueve la celda activa una fila hacia abajo y una columna a la derecha con la propiedad Offset y esta nueva celda la hace activa con el método Activate.
Se observa cómo se mantiene el rectángulo alrededor del rango A4:B6, pero la celda en blanco ahora es la celda B5, la cual también aparece indicada en el cuadro de nombre.
Las siguientes instrucciones dan formato negrita a la celda activa, asignan el valor de número de fila de la celda activa a la variable MyRow y el número de columna de la celda activa a la variable MyCol y despliegan estas variables en un caja de mensajes.
ActiveCell.Font.Bold = True
MyRow = ActiveCell.Row
MyCol = ActiveCell.Column
MsgBox MyRow & vbCrLf & MyCol
Determinar la Ultima Celda de una Lista o Tabla
En el siguiente procedimiento se muestra como se utiliza la propiedad Row para definir la última fila con datos.
Al ejecutar este procedimiento obtenemos el siguiente mensaje: