Tabla de contenido
En el VBA puede utilizar diferentes métodos para encontrar la última fila. En este artículo, voy a explicar diferentes métodos de VBA encontrar la última fila en Excel.
Para hacer visible esta explicación, voy a utilizar un conjunto de datos de ejemplo. En el conjunto de datos hay 4 columnas que representan información sobre ventas. Estas columnas son Vendedor, Región, Producto, y Precio .
Descargar Para practicar
VBA Buscar Última Fila.xlsmFormas de VBA Buscar última fila en Excel
1. Uso de SpecialCells para encontrar la última fila
Puede utilizar la función SpecialCells para encontrar la última fila utilizando VBA .
En primer lugar, abra el Desarrollador y, a continuación, seleccione Visual Basic
Una nueva ventana de Microsoft Visual Basic para Aplicaciones aparecerá.
Ahora, desde Inserte Seleccionar Módulo
A Módulo se abrirá.
A continuación, escriba el siguiente código en el archivo Módulo .
Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub
Aquí, he creado un subprocedimiento llamado LastRow_SpecialCells donde a Largo tipo de variable Última fila ha sido declarada.
A continuación, definimos la variable utilizando el método Rango.CeldasEspeciales Aquí he utilizado la columna A ( A:A ) como intervalo. Siempre que xlCellTypeLastCell como parámetro de tipo de SpecialCells devolverá la última celda del rango (en este caso, de la columna A ).
He utilizado un cuadro de mensaje para mostrar el resultado.
Después de eso, Guardar el código y vuelve a la hoja de cálculo.
De nuevo, abra el Ver tab>> de Macros Seleccionar Ver macros
Entonces, a cuadro de diálogo aparecerá.
Ahora, desde el Nombre de la macro seleccione el LastRow_SpecialCells seleccione también el libro de trabajo dentro de Macros en .
Por fin, Ejecutar el seleccionado Macro .
Así, aparecerá un cuadro de mensaje mostrando el número de la última fila.
2. Uso de Rows.Count para celdas no vacías
Puede utilizar la función Recuento.filas para encontrar la última fila utilizando VBA .
Ahora, abra el Desarrollador y, a continuación, seleccione Visual Basic
Una nueva ventana de Microsoft Visual Basic para Aplicaciones aparecerá.
Ahora, desde Inserte Seleccionar Módulo
A Módulo se abrirá.
A continuación, escriba el siguiente código en el archivo Módulo .
Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub
Aquí, he creado un subprocedimiento llamado LastRow_NonEmpty, donde un Largo tipo de variable Última fila ha sido declarada.
Ahora, CELLS(Rows.Count, 1) contará cuántas filas hay en la primera columna. A continuación, utiliza Fin(xlUp).Fila ahora esto encontrará la última fila utilizada en un rango de Excel.
Al final, he utilizado un cuadro de mensaje para mostrar el resultado.
Entonces, Guardar el código y vuelve a la hoja de cálculo.
Aquí, abra el Ver tab>> de Macros Seleccionar Ver macros
Ahora, un cuadro de diálogo aparecerá.
Entonces, desde el Nombre de la macro seleccione el LastRow_NonEmpty seleccione también el libro de trabajo dentro de Macros en .
Por fin, Ejecutar el seleccionado Macro .
Así, aparecerá un cuadro de mensaje mostrando el número de la última fila.
3. Uso de Rows.Count para cualquier columna seleccionada
Utilizando cualquier columna seleccionada en VBA, puedes encontrar la última fila.
En primer lugar, abra el Desarrollador y, a continuación, seleccione Visual Basic
Una nueva ventana de Microsoft Visual Basic para Aplicaciones aparecerá.
Ahora, desde Inserte Seleccionar Módulo
A Módulo se abrirá.
A continuación, escriba el siguiente código en el archivo Módulo .
Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub
Aquí, he creado un subprocedimiento llamado LastRow_AnyColumn, donde un Largo tipo de variable Última fila ha sido declarada.
Luego, en el Gama dada la columna B como parámetro y también Recuento.filas Contará cuántas filas hay en una columna determinada. B . siguiente, utilizado Fin(xlup). Fila que encontrará la última fila utilizada en un rango de Excel.
Por último, he utilizado un cuadro de mensaje para mostrar el resultado.
Siguiente, Guardar el código y vuelve a la hoja de cálculo.
A continuación, abra el Ver tab>> de Macros Seleccionar Ver macros
Aquí, un cuadro de diálogo aparecerá.
Ahora, desde el Nombre de la macro seleccione el UltimaFila_CualquierColumna seleccione también el libro de trabajo dentro de Macros en .
Por fin, Ejecutar el seleccionado Macro .
Así, aparecerá un cuadro de mensaje mostrando el número de la última fila.
Lecturas similares:
- VBA Buscar en la columna en Excel (7 enfoques)
- Buscar y reemplazar con VBA (11 formas)
- Buscar coincidencia exacta usando VBA en Excel (5 maneras)
- Cómo encontrar cadena con VBA en Excel (8 Ejemplos)
4. Uso de UsedRange para encontrar la última fila
Puede utilizar la función UsadosRange de la hoja de cálculo para encontrar la última fila utilizando VBA .
Ahora, abra el Desarrollador y, a continuación, seleccione Visual Basic
A continuación, se abrirá una nueva ventana de Microsoft Visual Basic para Aplicaciones aparecerá.
Ahora, desde Inserte Seleccionar Módulo
A Módulo se abrirá.
A continuación, escriba el siguiente código en el archivo Módulo .
Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Last Row: " & LastRow End Sub
Aquí, he creado un subprocedimiento llamado LastRow_UsedRange, donde a Largo tipo de variable Última fila ha sido declarada.
A continuación, defina la variable utilizando el método ActiveSheet.UsedRange.Rows método también proporcionado ActiveSheet.UsedRange.Rows.Count como parámetro de ActiveSheet.UsedRange.Rows devolverá la última fila.
He utilizado un cuadro de mensaje para mostrar el resultado.
Ahora, Guardar el código y vuelve a la hoja de cálculo.
A continuación, abra el Ver tab>> de Macros Seleccionar Ver macros
A continuación, un cuadro de diálogo aparecerá.
Entonces, desde el Nombre de la macro seleccione el UltimaFila_RangoUsado seleccione también el libro de trabajo dentro de Macros en .
Por fin, Ejecutar el seleccionado Macro .
Así, aparecerá un cuadro de mensaje mostrando el número de la última fila.
5. Uso de Range.Find para encontrar la última fila
Puede utilizar la función Rango.Buscar para encontrar la última fila utilizando VBA .
Ahora, abra el Desarrollador y, a continuación, seleccione Visual Basic
Aquí, una nueva ventana de Microsoft Visual Basic para Aplicaciones aparecerá.
Ahora, desde Inserte Seleccionar Módulo
A Módulo se abrirá.
A continuación, escriba el siguiente código en el archivo Módulo .
Sub Range_Find_Method() Dim LastRow As Long On Error Resume Next LastRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 MsgBox "Last Row: " & LastRow End Sub
Aquí, he creado un subprocedimiento llamado Range_Find_Method, donde un Largo tipo de variable Última fila ha sido declarada.
A continuación, definimos la variable utilizando el método Celdas.Buscar Aquí se declaran 7 parámetros. En Qué parámetro que he utilizado ("*") que encontrará la primera celda no vacía. Dado A1 como el rango en el En en el parámetro Visite parámetro proporcionado xlParte para ver cualquier parte del texto dentro de la celda.
Búsqueda:=xlFormulas buscará fórmulas si las hay. Orden de búsqueda:=xlByRows se moverá de derecha a izquierda y también realiza un bucle ascendente por cada fila hasta que encuentra una celda no vacía.
MatchCase:=False indicará Encuentre no considerar mayúsculas o minúsculas. Cuando se encuentra un no-blanco se detiene y devuelve el número de fila.
He utilizado un cuadro de mensaje para mostrar el resultado.
Ahora, Guardar el código y vuelve a la hoja de cálculo.
Aquí, abra el Ver tab>> de Macros Seleccionar Ver macros
Ahora, un cuadro de diálogo aparecerá.
Ahora, desde el Nombre de la macro seleccione el Método_encontrar_rango seleccione también la hoja de cálculo dentro de Macros en .
Por fin, Ejecutar el seleccionado Macro .
Así, aparecerá un cuadro de mensaje mostrando el número de la última fila.
Conclusión
En este artículo, he explicado 5 maneras de VBA Encontrar la última fila en Excel. Puede seguir cualquiera de los métodos para encontrar la última fila. En caso de que tenga alguna confusión o pregunta con respecto a estos métodos puede comentar a continuación.