Siempre es conveniente
al ejecutar macros conocer o seleccionar la última fila de un rango de celdas en Excel,
especialmente si hay que recorrerlo con algún condicional. En mi caso, es una variable que declaro en más del 90% de mis macros, ya que es un punto de referencia muy útil para cualquier macro que vaya a desarrollar.
Conocer el valor de la última fila
Para conocer la última fila de un rango de celdas con VBA hay que definir una variable como Long. La variable también se puede definir como Integer si sabemos que el archivo no tiene más de 32.000 filas, pero para asegurarnos de que la macro no se satura, siempre pondremos la variable como Long, aunque sí es verdad que la macro se ejecutará más rápido si la variable es Integer.
En el siguiente ejemplo, vemos un rango de celdas y en la fila 13, en algunas columnas, hay algunos subtotales (marcados en azul). En este caso, queremos identificar el número de filas real del archivo, en este caso 13.
Para conseguirlo, utilizaremos el código de más abajo. En él, la macro irá a contar todas las filas que haya en la columna B hasta la última celda con alguna información escrita, pese a que haya celdas en blanco antes de llegar a la última.
Para conseguirlo, utilizaremos el código de más abajo. En él, la macro irá a contar todas las filas que haya en la columna B hasta la última celda con alguna información escrita, pese a que haya celdas en blanco antes de llegar a la última.
Dim ultimafila as Long
ultimafila = Range("B"&Rows.Count).End(xlUp).Row
ultimafila = Range("B"&Rows.Count).End(xlUp).Row
A tener en cuenta
A continuación podéis leer un consejo y una advertencia sobre el cálculo de la última fila. En alguna ocasión, probablemente falla algo y no sabréis el porqué, así que conviene al menos conocer dónde buscar en el caso de la exitencia de algún error.
Consejo
Activar la ventana Locales, del menú Ver, nos va a permitir ver el valor que toma la variable si ejecutamos la macro línea a línea con la tecla F8.En mi ejemplo, la variable ultimafila obtiene el valor de 13, que son las filas que tiene el archivo contando la columna B.
Advertencia
En el caso de que se haya definido la variable con otra columna cuya cantidad de líneas sea inferior, no las va a contar. Es decir, si hubiéramos definido ultimafila por la columna A en el ejemplo de más arriba, obtendríamos el resultado de 11.
Interesante
Además de conocer cómo saber la última fila de un archivo, quizá también nos interese cómo saber la última columna de un Excel con Visual Basic.
No hay comentarios:
Publicar un comentario