jueves, 30 de octubre de 2014

Detectar la ultima fila en una tabla de Excel con VBA

Cuando trabajamos con Visual Basic for Application, en mas de una ocasión nos encontraremos con la necesidad de trabajar sobre una lista o tabla de datos. Sin embargo, este rango suele ser variable por lo que necesitaremos encontrar la ultima fila que contiene datos.

Ante esta necesidad surge un problema si no sabemos con exactitud la sentencia específica. Pero como dice el dicho (valga la redundancia) : "El que nada sabe... nada teme."

Buscando en Internet, y luego de preguntarle a mi amigo GOOGLE, encontré la siguiente solución que espero les sirva:


Sub BuscarUltimaFila()
Dim ult As Integer
ult = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox ult

End Sub
Ahora entendamos el código:
Cells(Rows.Count,1) = Al usar Rows.Count estamos contando todas las filas disponibles en excel cuyo valor seria 1 048 576. Como lo usamos en un Cells, estaremos seleccionando la fila 1 048 576. El “1” indica la columna en la cuál se esta trabajando (“A”) .
End(xlUp) = Estamos indicando que desde la fila indicada (1048576), “suba” hasta que encuentre un valor.
Row = Indicamos que grabe el número de la fila ocupada encontrada.
MsgBox ult = Mostramos ese valor en un cuadro de texto.
Espero que les sirva esta publicación.

Saludos

Ing. Enrique Neciosup Morales