Última fila de VBA

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 fijo. Si nuestros datos aumentan, debemos volver a la referencia de la celda y cambiar las referencias para actualizar el resultado.

Para ver un ejemplo, mire el siguiente código.

Código:

 Sub Last_Row_Example1 () Rango ("D2"). Valor = WorksheetFunction.Sum (Rango ("B2: B7")) End Sub 

El código anterior dice que el valor de la celda D2 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.

Puede descargar esta plantilla de última fila de VBA aquí - Plantilla de última fila de 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 como Ctrl + Flecha arriba .

En VBA, necesitamos usar la tecla final y hacia 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. Por tanto, utilice 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.

Ahora borraré una línea más y ejecutaré el código y veré el dinamismo del código.

Ok, ahora el resultado toma automáticamente la última fila.

Este es el código dinámico de la última fila de VBA.

Como mostré en el ejemplo anterior, cambie el número de fila de un valor numérico a LR.

Código:

 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 

The code also gives you the last used row. For example, look at the below worksheet image.

If I run the code manually or using F5 key result will be 12 because 12 is the last used row.

Output:

Now I will delete the 12th row and see the result.

Even though I have deleted one row it is still showing the result as 12.

In order to make this code work we need to hit the save button after every action, then this code will return accurate results.

I have saved the workbook and now see the result.

Method #3

We can find the VBA last row in the used range. Below code also returns the last used row.

Code:

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

This will also return the last used row.

Output: