Vba: come trovare l'ultima riga utilizzata


È possibile utilizzare la seguente sintassi di base in VBA per trovare l’ultima riga utilizzata in un foglio Excel:

 Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub

Questo particolare esempio cerca l’ultima riga utilizzata nel foglio corrente e restituisce il risultato nella cella D2 .

Se invece vuoi visualizzare l’ultima riga di una finestra di messaggio, puoi utilizzare la seguente sintassi:

 Sub FindLastRow()
Dim LastRow As Long
    
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row

MsgBox " Last Row: " & LastRow
End Sub

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuno di questi metodi.

Esempio 1: trova l’ultima riga utilizzando VBA e visualizza i risultati nella cella

Supponiamo di avere il seguente set di dati in Excel che contiene informazioni su vari giocatori di basket:

Possiamo creare la seguente macro per trovare l’ultima riga utilizzata in questo foglio Excel e visualizzare il risultato nella cella D2 :

 Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Si noti che la cella D2 contiene il valore 11 .

Questo ci dice che l’ultima riga utilizzata in questo particolare foglio è la riga 11.

Vale anche la pena notare che se hai celle vuote prima di una cella utilizzata, questa macro troverà sempre l’ultima riga utilizzata.

Ad esempio, supponiamo di eseguire la macro sul seguente set di dati:

La cella D2 contiene un valore 16 perché è l’ultima riga contenente un valore.

Esempio 2: trova l’ultima riga utilizzando VBA e visualizza i risultati nella finestra di messaggio

Supponiamo invece di voler trovare l’ultima riga utilizzata in un foglio e visualizzare il numero di riga in una finestra di messaggio.

Per fare ciò possiamo creare la seguente macro:

 Sub FindLastRow()
Dim LastRow As Long
    
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row

MsgBox " Last Row: " & LastRow
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

La finestra di messaggio ci dice che l’ultima riga utilizzata nel foglio è la riga 11 .

Nota : qui è possibile trovare la documentazione completa per il metodo Trova VBA.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

VBA: come calcolare il valore medio dell’intervallo
VBA: come contare il numero di righe nell’intervallo
VBA: come rimuovere i valori duplicati nell’intervallo

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *