Ultima riga VBA

In VBA quando dobbiamo trovare l'ultima riga ci sono molti metodi diversi e il metodo più comunemente usato è il metodo End (XLDown) e ci sono altri metodi come trovare l'ultimo valore usando la funzione find in VBA, End (XLDown ). La riga è il modo più semplice per arrivare all'ultima riga.

Ultima riga di Excel VBA

Se la scrittura del codice è il primo progresso che hai fatto in VBA, rendere dinamico il codice è il passaggio successivo per te. Excel è pieno di riferimenti di cella, nel momento in cui ci riferiamo alla cella diventa fisso. Se i nostri dati aumentano, dobbiamo tornare al riferimento di cella e modificare i riferimenti per aggiornare il risultato.

Per un esempio, guarda il codice seguente.

Codice:

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

Il codice sopra dice che il valore della cella D2 dovrebbe essere la somma dell'intervallo ("B2: B7").

Ora aggiungerò più valori all'elenco.

Ora, se eseguo il codice, non mi darà il risultato degli aggiornamenti, piuttosto si attacca ancora al vecchio intervallo, cioè Range ("B2: B7").

È qui che il codice dinamico è molto importante.

Nel processo di dinamizzazione del codice, è molto importante trovare l'ultima riga utilizzata nella colonna. In questo articolo, discuteremo i modi per trovare l'ultima riga in Excel VBA.

Come trovare l'ultima riga utilizzata nella colonna?

Di seguito sono riportati gli esempi per trovare l'ultima riga utilizzata in Excel VBA.

Puoi scaricare questo modello ultima riga VBA qui - Modello ultima riga VBA

Metodo n. 1

Prima di spiegarti il ​​codice, voglio che tu ricordi come vai all'ultima riga del normale foglio di lavoro.

Useremo il tasto di scelta rapida Ctrl + freccia giù.

Ci porterà all'ultima riga utilizzata prima di qualsiasi cella vuota. Useremo lo stesso metodo anche in VBA per trovare l'ultima riga.

Passaggio 1: definire la variabile come LONG.

Codice:

 Sub Last_Row_Example2 () Dim LR As Long 'Per capire LR = Last Row End Sub 

Passaggio 2: per questa variabile, assegneremo l'ultimo numero di riga utilizzato.

Codice:

 Sub Last_Row_Example2 () Dim LR As Long 'Per capire LR = Last Row LR = End Sub 

Passaggio 3: scrivi il codice come CELLS (Rows.Count,

Codice:

 Sub Last_Row_Example2 () Dim LR As Long 'Per capire LR = Last Row LR = Cells (Rows.Count, End Sub 

Passaggio 4: ora menziona il numero di colonna come 1.

Codice:

 Sub Last_Row_Example2 () Dim LR As Long 'Per capire LR = Last Row LR = Cells (Rows.Count, 1) End Sub 

CELLS (Rows.Count, 1) significa contare quante righe ci sono nella prima colonna.

Quindi il codice VBA sopra ci porterà all'ultima riga del foglio Excel.

Passaggio 5: se ci troviamo nell'ultima cella del foglio per andare all'ultima riga utilizzata, premeremo il tasto di scelta rapida come Ctrl + Freccia su .

In VBA dobbiamo usare la chiave di fine e su, cioè End VBA xlUp

Codice:

 Sub Last_Row_Example2 () Dim LR As Long 'Per capire LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) End Sub 

Passaggio 6: ora ci porterà all'ultima riga utilizzata dal basso. Ora abbiamo bisogno del numero di riga di questo. Quindi usa la proprietà ROW per ottenere il numero di riga.

Codice:

 Sub Last_Row_Example2 () Dim LR As Long 'Per capire LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row End Sub 

Passaggio 7: ora la variabile contiene l'ultimo numero di riga utilizzato. Mostra il valore di questa variabile nella finestra del messaggio nel codice VBA.

Codice:

 Sub Last_Row_Example2 () Dim LR As Long 'Per capire LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox LR End Sub 

Esegui questo codice utilizzando il tasto F5 o manualmente, verrà visualizzata l'ultima riga utilizzata.

Produzione:

L'ultima riga utilizzata in questo foglio di lavoro è 13.

Ora cancellerò un'altra riga ed eseguirò il codice e vedrò il dinamismo del codice.

Ok, ora il risultato prende automaticamente l'ultima riga.

Questo è il codice dell'ultima riga VBA dinamico.

Come ho mostrato nell'esempio precedente, cambia il numero di riga da un valore numerico a LR.

Codice:

 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: