Tabla de contenido
Al trabajar con Microsoft Excel, encontrar las últimas filas o columnas es una tarea común. Utilizamos el teclado para encontrar las últimas filas o columnas utilizadas. Pero, puede encontrarse en una situación en la que necesite encontrar la última fila utilizada de un conjunto de datos complejo. En este tutorial, aprenderá a encontrar la última fila con datos en un rango utilizando VBA en Excel con ejemplos prácticos e ilustraciones adecuadas.
Descargar el cuaderno de prácticas
Descarga este cuaderno de prácticas.
Buscar la última fila utilizada en un intervalo.xlsm7 Métodos para Encontrar la Última Fila con Datos en un Rango Usando Macros VBA de Excel
En las próximas secciones, vamos a proporcionarle siete métodos que le ayudarán a encontrar la última fila con datos en un rango utilizando VBA en Excel. Le recomendamos que aprenda y aplique todos estos métodos para enriquecer sus conocimientos de Excel.
📕 Seguir leyendo : Encontrar la Última Celda con Valor en Fila en Excel (6 Métodos)
Para demostrar este tutorial, vamos a utilizar este conjunto de datos:
Aquí tenemos un conjunto de datos con información de algunos jugadores, que utilizaremos para enseñarte todos los métodos.
Abrir el editor VBA
Antes de empezar, aquí le damos un simple recordatorio para abrir el Editor VBA en Excel.
En primer lugar, pulse Alt+F11 en el teclado. A continuación, seleccione Insertar> Módulo. A continuación, se abrirá el editor VBA de Excel.
1. Uso de la Propiedad Range.End para Encontrar la Última Fila con Datos en un Rango Usando VBA
Ahora, este método básicamente encuentra el final de un rango. Principalmente, el último rango de celdas usado. Podemos usar este método para encontrar la última fila con datos en un rango dado. Usando el VBA obtendremos los resultados deseados.
📌 Pasos
① En primer lugar, abra el VBA Redactor.
② A continuación, escriba el siguiente código:
Sub range_end_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = Range("B4").End(xlDown).Row MsgBox "Última fila utilizada: " & LastRow End Sub
③ Ahora, guarda el archivo. A continuación, pulsa Alt+F8 para abrir el cuadro de diálogo Macro. Seleccione range_end_method
④ A continuación, haga clic en Ejecutar.
Como puede ver, hemos encontrado con éxito la última fila con datos en un rango utilizando VBA en Excel.
2. Propiedad Range.Find de VBA en Excel
Ahora bien, en VBA utilizamos el método Range.Find para buscar un valor concreto de un conjunto de datos. Pero este método resulta muy útil para encontrar la última fila con datos de un rango. Funciona como el cuadro de diálogo Find & Replace de Excel. El método Range.Find tiene muchos argumentos, pero no los utilizaremos todos.
Antes de utilizar el método Range.Find, vamos a darle una información rápida:
Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious)
Qué := "*" - El asterisco es un carácter comodín que descubre cualquier texto o número en la celda. Principalmente es lo mismo que explorar una celda que no esté en blanco.
Orden de búsqueda:=xlByRows - La dirección de búsqueda es de izquierda a derecha o de derecha a izquierda dependiendo del argumento SearchDirection. La opción adicional aquí es xlByColumns, que se utiliza cuando se localiza la última columna.
DirecciónBúsqueda:=xlAnterior - Esto determina qué dirección explorar. xlPrevious significa que buscará de derecha a izquierda o de abajo a arriba. La otra alternativa es xlNext, que se desplaza en el camino opuesto.
📌 Pasos
① En primer lugar, abra el Editor VBA.
② A continuación, escriba el siguiente código:
Sub range_find_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row MsgBox "Última fila utilizada: " & LastRow End Sub
③ Ahora, guarda el archivo. A continuación, pulsa Alt+F8 para abrir el cuadro de diálogo Macro. Selecciona range_find_method.
④ A continuación, haga clic en Ejecutar .
Al final, encontrará la última fila con datos en nuestra hoja de cálculo Excel.
3. Uso de la función SpecialCells para encontrar la última fila con VBA
Este método funciona como pulsar Ctrl+Fin Cuando pulsas Ctrl+Fin en tu teclado, siempre te llevará a la última fila sin importar donde estés. Pero si quieres encontrar la última fila usada con datos usando códigos VBA en Excel, este código es imprescindible para ti.
📌 Pasos
① En primer lugar, abra el Editor VBA.
② A continuación, escriba el siguiente código:
Sub specialcells_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.SpecialCells(xlCellTypeLastCell).Row MsgBox "Última fila utilizada: " & LastRow End Sub
③ Ahora, guarda el archivo. A continuación, pulsa Alt+F8 para abrir el cuadro de diálogo Macro. Selecciona método_células_especiales .
④ A continuación, haga clic en Ejecutar .
Como se puede ver, tenemos éxito en la búsqueda de la última fila con datos utilizando VBA en Excel.
4. Uso de la Función UsedRange para Encontrar la Última Fila con Datos en un Rango
El UsedRange en VBA es una posesión de la hoja de cálculo que devuelve un objeto de rango que representa el rango utilizado (todas las celdas de Excel utilizadas o cargadas en una hoja de cálculo) en una hoja de cálculo en particular. Es una propiedad que significa el área cubierta o especificada por las celdas utilizadas arriba a la izquierda y las últimas celdas utilizadas a la derecha en una hoja de cálculo.
📌 Pasos
① En primer lugar, abra el Editor VBA.
② A continuación, escriba el siguiente código:
Sub usedRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row MsgBox "Última fila utilizada: " & LastRow End Sub
③ Ahora, guarda el archivo. A continuación, pulsa Alt+F8 para abrir el cuadro de diálogo Macro. Selecciona usedRange_method.
④ A continuación, haga clic en Ejecutar .
Por último, verá la última fila utilizada en una hoja de cálculo en Excel con éxito.
5. Uso de Rango de Tabla usando VBA en Excel
Si tienes una tabla en tu hoja de cálculo, puedes encontrar la última fila con datos con este método.
📌 Pasos
① En primer lugar, abra el Editor VBA.
② A continuación, escriba el siguiente código:
Sub TableRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.ListObjects("Table1").Range.Rows.Count + 3 MsgBox "Última fila utilizada: " & LastRow End Sub
Nota Aquí, estamos sumando 3 con la última fila ya que nuestro conjunto de datos comenzó después de la fila 3.
③ Ahora, guarda el archivo. A continuación, pulsa Alt+F8 para abrir el cuadro de diálogo Macro. Selecciona TableRange_method.
④ A continuación, haga clic en Ejecutar .
Como puede ver, hemos utilizado con éxito el método de rango de tabla en códigos VBA para encontrar la última fila con datos en Excel.
6. Uso del Rango Nombrado para Buscar la Última Fila con Datos en un Rango
Este método no se utiliza habitualmente en Excel, pero creemos que debería aprenderlo para enriquecer sus conocimientos.
Si su conjunto de datos tiene un rango con nombre, puede utilizar este código. Eche un vistazo a la siguiente captura de pantalla, en la que aparece un rango con nombre.
📌 Pasos
① En primer lugar, abra el Editor VBA.
② A continuación, escriba el siguiente código:
Sub nameRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("Named_Range").Rows.Count + 1 MsgBox "última fila utilizada: " & LastRow End Sub
Nota : Estamos añadiendo 1 a LastRow porque nuestro rango empezó después de la fila 1.
③ Ahora, guarda el archivo. A continuación, pulsa Alt+F8 para abrir el cuadro de diálogo Macro. Seleccione nameRange_method.
④ A continuación, haga clic en Ejecutar.
Como puede ver, hemos conseguido encontrar la última fila con datos utilizando VBA.
7. Función CurrentRegion de VBA en Excel
También puedes usar el método CurrentRegion de VBA para encontrar la última fila usada en Excel. Aunque es complicado, puedes usar esto a tu favor si quieres.
📌 Pasos
① En primer lugar, abra el Editor VBA.
② A continuación, escriba el siguiente código:
Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 'añada números según su elección' MsgBox "Última fila utilizada: " & LastRow End Sub
Nota Rango: El rango debe ser la primera celda de su conjunto de datos. Y agregue el número de filas de acuerdo a su elección. Aquí, agregamos 3 porque nuestro conjunto de datos comenzó después de la fila 3.
③ Ahora, guarda el archivo. A continuación, pulsa Alt+F8 para abrir el cuadro de diálogo Macro. Selecciona Método_región_actual
④ A continuación, haga clic en Ejecutar.
Como puede ver, hemos encontrado con éxito la última fila con datos utilizando el código VBA.
💬 Cosas para recordar
✎ Range.End sólo funciona en una única fila o columna. Si su conjunto de datos contiene muchas celdas en blanco, será difícil encontrar la última fila con datos.
✎ A veces, tienes que añadir algunos valores a tus métodos para que el código funcione sin problemas. Hemos añadido números de fila para encontrar la última celda. Por lo tanto, tienes que recordar desde dónde empezó tu conjunto de datos.
Conclusión
Para concluir, espero que este tutorial le haya proporcionado conocimientos útiles para encontrar la última fila con datos en un rango utilizando VBA en Excel. Le recomendamos que aprenda y aplique todas estas instrucciones a su conjunto de datos. Descargue el libro de práctica y pruébelas usted mismo. Además, no dude en darnos su opinión en la sección de comentarios. Su valiosa opinión nos mantiene motivados para crear tutoriales como éste.
No olvide consultar nuestro sitio web Exceldemy.com para diversos problemas y soluciones relacionados con Excel.
Siga aprendiendo nuevos métodos y siga creciendo.