VBA Última fila - Los 3 métodos principales para encontrar la última fila utilizada

Tabla de contenido

En VBA, cuando tenemos que encontrar la última fila, hay muchos métodos diferentes y el método más utilizado es el método End (XLDown) y hay otros métodos como encontrar el último valor usando la función de búsqueda en VBA, End (XLDown ). La fila es la forma más fácil de llegar a la última fila.

Excel VBA última fila

Si escribir el código es el primer progreso que hizo en VBA, entonces hacer que el código sea dinámico es el siguiente paso para usted. Excel está lleno de referencias de celda. En el momento en que nos referimos a la celda, se vuelve fija. Si nuestros datos aumentan, tenemos que volver a la referencia de celda y cambiar las referencias para actualizar el resultado.

Por ejemplo, mire el código siguiente.

Código:

Sub Last_Row_Example1 () Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B7")) End Sub

El código anterior dice en D2, el valor de la celda debe ser la suma del Rango ("B2: B7").

Ahora agregaré más valores a la lista.

Ahora, si ejecuto el código, no me dará el resultado de las actualizaciones, sino que todavía se adhiere al rango anterior, es decir, Rango ("B2: B7").

Aquí es donde el código dinámico es muy importante.

En el proceso de hacer que el código sea dinámico, es muy importante encontrar la última fila utilizada en la columna. En este artículo, discutiremos las formas de encontrar la última fila en Excel VBA.

¿Cómo encontrar la última fila utilizada en la columna?

A continuación se muestran los ejemplos para encontrar la última fila utilizada en Excel VBA.

Método 1

Antes de explicarte el código, quiero que recuerdes cómo vas a la última fila de la hoja de trabajo normal.

Usaremos la tecla de atajo Ctrl + flecha abajo.

Nos llevará a la última fila utilizada antes de cualquier celda vacía. También usaremos el mismo método en VBA para encontrar la última fila.

Paso 1: Defina la variable como LARGA.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Last Row End Sub

Paso 2: Para esta variable, asignaremos el último número de fila utilizado.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última fila LR = End Sub

Paso 3: escriba el código como CELLS (Rows.Count,

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última fila LR = Celdas (Rows.Count, End Sub

Paso 4: Ahora mencione el número de columna como 1.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última fila LR = Celdas (Rows.Count, 1) End Sub

CELLS (Rows.Count, 1) significa contar cuántas filas hay en la primera columna.

Entonces, el código VBA anterior nos llevará a la última fila de la hoja de Excel.

Paso 5: Si estamos en la última celda de la hoja para ir a la última fila utilizada, presionaremos la tecla de atajo que es Ctrl + Flecha arriba .

En VBA, necesitamos usar la tecla end y arriba, es decir, End VBA xlUp

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última fila LR = Celdas (Rows.Count, 1) .End (xlUp) End Sub

Paso 6: Ahora, nos llevará a la última fila utilizada desde abajo. Ahora necesitamos el número de fila de esto. Entonces, use la propiedad FILA para obtener el número de fila.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última fila LR = Celdas (Rows.Count, 1) .End (xlUp) .Row End Sub

Paso 7: Ahora, la variable contiene el último número de fila utilizado. Muestre el valor de esta variable en el cuadro de mensaje en código VBA.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última fila LR = Celdas (Rows.Count, 1) .End (xlUp) .Row MsgBox LR End Sub

Ejecute este código usando la tecla F5 o manualmente. Mostrará la última fila utilizada.

Salida:

La última fila utilizada en esta hoja de trabajo es 13.

Now I will delete one more line and run the code and see the dynamism of the code.

Ok, now the result automatically takes the last row.

This is what the dynamic VBA last row code is.

As I showed in the earlier example, change the row number from a numeric value to LR.

Code:

Sub Last_Row_Example2() Dim LR As Long 'For understanding LR = Last Row LR = Cells(Rows.Count, 1).End(xlUp).Row Range("D2").Value = WorksheetFunction.Sum(Range("B2:B" & LR)) End Sub

I have removed B13 and added the variable name LR.

Now it does not matter how many rows you add. It will automatically take the updated reference.

Method #2

We can also find the last row in VBA by using the Range object and special VBA cells property as well.

Code:

Sub Last_Row_Example3() Dim LR As Long LR = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LR End Sub

El código también le da la última fila utilizada. Por ejemplo, mire la imagen de la hoja de trabajo a continuación.

Si ejecuto el código manualmente o utilizo la tecla F5, el resultado será 12 porque 12 es la última fila utilizada.

Salida:

Ahora eliminaré la fila 12 y veré el resultado.

Aunque eliminé una fila, todavía muestra el resultado como 12.

Para que este código funcione, debemos presionar el botón Guardar después de cada acción. Entonces este código devolverá resultados precisos.

He guardado el libro de trabajo y ahora veo el resultado.

Método # 3

Podemos encontrar la última fila de VBA en el rango usado. El siguiente código también devuelve la última fila utilizada.

Código:

Sub Last_Row_Example4 () Dim LR As Long LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub

Esto también devolverá la última fila utilizada.

Salida:

Articulos interesantes...