Número de la última fila
Por medio del artículo: Identificar última fila en VBA
Se examinó el código:
Sub BuscarUltimaFila()
Dim ult As Integer
ult = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox ult
End Sub
En el cual la variable ult nos permite identificar el número de la fila en el cual se encuentran datos, tomando como base la columna 1 (columna A).
Localizar la última Fila
En versiones antiguas se solía emplear el siguiente código, cuyo funcionamiento, es similar al código de la última fila visto en el párrafo anterior:
Ult= Columns("A:A").Range("A65536").End(xlUp).Row
Este código toma como punto de referencia la celda A65536, esto era frecuente de realizar en la versión 2003 de Excel, debido a que esa versión tenía 65536 filas.
Podríamos considerar cambiar la celda de referencia por A1048576, y cambiar A:A por la fila que necesitemos, sin embargo este código presentaría errores en algunas versiones de Excel, por lo que es mas conveniente emplear el código:
ult = Cells(Rows.Count, 1).End(xlUp).Row
Descargar ejemplos para descargar la última fila en VBA: Ultima fila en VBA
Última fila usada en VBA (toda la hoja)
Si se requiere identificar la última fila de toda la hoja en lugar de fijarse en solo una columna en particular (como en el artículo Identificar última fila en VBA ) se debe emplear el siguiente código en VBA:
maxrow = Cells.SpecialCells(xlLastCell).Row
Donde la variable maxrow corresponde al número de la última fila de toda la hoja en la que existe información, de forma similar, para las columnas podríamos emplear:
maxcol = Cells.SpecialCells(xlLastCell).Column
Descargar ejemplos para detectar última fila y columna en toda la hoja: Ultima fila y columna en hoja Excel
Consideraciones identificar la última fila en VBA
En el caso del código ult = Cells(Rows.Count, 1).End(xlUp).Row debe tenerse en cuenta que su uso debe realizarse sobre la columna en la que exista información, y que además el dato siempre este disponible, es decir que no vayan a aparecer celdas en blanco al final.
Para el caso de maxrow = Cells.SpecialCells(xlLastCell).Row debe tomarse en cuenta que si existe una rutina de eliminación de filas antes de emplear este código se debería utilizar una macro para grabar la información de la hoja.