¿cómo encontrar la última fila, columna y celda?
Para encontrar la última fila, columna o celda, puede utilizar la propiedad «Fin» del rango. La propiedad final le permite navegar hasta el final del rango de datos (hasta la última celda que no está vacía). Con esto, hay constantes que puedes usar para decidir en qué dirección deseas navegar (arriba, abajo, izquierda o derecha).
Utilice VBA para encontrar la última fila en Excel
- Establezca la celda o rango desde el que desea navegar hasta la última fila.
- Después de eso, ingrese un punto para obtener la lista de propiedades y métodos.
- Seleccione o escriba «Fin» e ingrese un paréntesis inicial.
- Utilice cualquier argumento que desee utilizar.
- Además, utilice la propiedad de dirección para obtener la dirección de la celda.
MsgBox Range("A1").End(xlDown).Address
Cuando ejecuta el código anterior, le muestra un cuadro de mensaje con el número de línea de la última celda que no está vacía.
Encuentra la última columna usando VBA
Ahora digamos que desea encontrar la última columna. En este caso, en lugar de usar la constante «xlDown», debes usar la «xlRight», y si quieres seleccionar esa celda en lugar de tener la dirección, puedes usar el método «select». Considere el siguiente método.
Range("A1").End(xlToRight).Select
Encuentra la última celda
Con el mismo método, también puede obtener la última celda, que no está vacía. Para escribir este código, necesita conocer la última fila y la última columna.
Sub vba_last_row() Dim lRow As Long Dim lColumn As Long lRow = Range("A1").End(xlDown).Row lColumn = Range("A1").End(xlToRight).Column Cells(lRow, lColumn).Select End Sub
Para comprender el código anterior, debemos dividirlo en tres partes.
- En la PRIMERA parte, declaró dos variables para almacenar el número de fila y el número de columna.
- En la SEGUNDA parte, usaste el «End» con el «xlDown» luego la propiedad Row para obtener el número de fila de la última, y de la misma manera usaste el «End» con el «xlToRight» luego la propiedad “Columna” para obtener el número de columna de la última columna.
- En la TERCERA parte, utilizando el último número de columna y el último número de fila, consulte la última celda y selecciónela.
Nota: Si desea seleccionar una celda en las diferentes hojas de trabajo usando el método de última fila y última columna, primero debe habilitar esa hoja de trabajo .
Última fila, columna y celda usando el método Buscar
También puede utilizar el método de búsqueda con el objeto de rango para obtener la última fila, columna y celda de la hoja de trabajo. Para encontrar el número de línea, aquí está el código:
Sub vba_last_row() Dim iRow As Long iRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row MsgBox iRow End Sub
Para el número de columna:
Sub vba_last_row() Dim iColumn As Long iColumn = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column MsgBox iColumn End Sub
Para obtener la dirección de la última celda.
Sub vba_last_row() Dim iColumn As Long Dim iRow As Long iColumn = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column iRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row Cells(iRow, iColumn).Address End Sub