Trovare l'ultima riga con i dati in un intervallo utilizzando le macro VBA di Excel (7 metodi)

  • Condividi Questo
Hugh West

Lavorando con Microsoft Excel, trovare le ultime righe o colonne è un'operazione comune. Per trovare le ultime righe o colonne utilizzate si usa la tastiera, ma può capitare di trovarsi in una situazione in cui è necessario trovare l'ultima riga utilizzata da un insieme di dati complesso. In questa esercitazione imparerete a trovare l'ultima riga con i dati in un intervallo usando VBA in Excel con esempi pratici e illustrazioni appropriate.

Scarica il quaderno di esercizi

Scaricate questo quaderno di esercizi.

Trova l'ultima riga usata in un intervallo.xlsm

7 metodi per trovare l'ultima riga con i dati in un intervallo utilizzando le macro VBA di Excel

Nelle prossime sezioni vi forniremo sette metodi che vi aiuteranno a trovare l'ultima riga con i dati in un intervallo utilizzando VBA in Excel. Vi consigliamo di imparare e applicare tutti questi metodi per arricchire le vostre conoscenze di Excel.

📕 Per saperne di più : Trovare l'ultima cella con valore nella riga in Excel (6 metodi)

Per dimostrare questa esercitazione, utilizzeremo questo set di dati:

Qui abbiamo un set di dati composto da alcune informazioni sui giocatori, che utilizzeremo per insegnare tutti i metodi.

Aprire l'editor VBA

Prima di iniziare, vi ricordiamo di aprire l'Editor VBA in Excel.

Per prima cosa, premere Alt+F11 sulla tastiera, quindi selezionare Inserire> Modulo. Successivamente, si aprirà l'editor VBA di Excel.

1. Uso della proprietà Range.End per trovare l'ultima riga con i dati in un intervallo utilizzando VBA

Questo metodo trova fondamentalmente la fine di un intervallo, in particolare l'ultimo intervallo di celle utilizzato. Possiamo utilizzare questo metodo per trovare l'ultima riga con dati in un determinato intervallo. Utilizzando il VBA otterremo i risultati desiderati.

📌 Passi

Per prima cosa, aprire il file VBA Editore.

Quindi, digitate il seguente codice:

 Sub range_end_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = Range("B4").End(xlDown).Row MsgBox "Ultima riga utilizzata: " & LastRow End Sub 

A questo punto, salvare il file e premere Alt+F8 per aprire la finestra di dialogo Macro. Selezionare metodo_terminale_dell'intervallo

Quindi, fare clic su Esegui.

Come potete vedere, siamo riusciti a trovare l'ultima riga con i dati in un intervallo utilizzando VBA in Excel.

2. Proprietà Range.Find di VBA in Excel

In VBA si usa il metodo Range.Find per cercare un valore particolare in un insieme di dati. Ma questo metodo è utile per trovare l'ultima riga con dati in un intervallo. Funziona come la finestra di dialogo Trova & Sostituisci di Excel. Il metodo Range. Find ha molti argomenti, ma non li useremo tutti.

Prima di utilizzare il metodo Range.Find, forniamo una rapida informazione:

Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious)

Cosa := "*" - L'asterisco è un carattere jolly che scopre qualsiasi testo o numero nella cella. È essenzialmente la stessa cosa dell'esplorazione di una cella non vuota.

Ordine di ricerca:=xlByRows - Ciò significa che bisogna cercare in ogni riga prima di passare alla successiva. La direzione di ricerca è da sinistra a destra o da destra a sinistra, a seconda dell'argomento SearchDirection (direzione di ricerca). L'opzione aggiuntiva è xlByColumns (per colonne), che viene utilizzata per individuare l'ultima colonna.

Direzione di ricerca:=xlPrecedente - Determina la direzione di esplorazione. xlPrevious significa che cercherà da destra a sinistra o dal basso verso l'alto. L'altra alternativa è xlNext che si sposta nel percorso opposto.

📌 Passi

Per prima cosa, aprire l'editor VBA.

Quindi, digitate il seguente codice:

 Sub range_find_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row MsgBox "Ultima riga utilizzata: " & LastRow End Sub 

Salvare il file, quindi premere Alt+F8 per aprire la finestra di dialogo Macro e selezionare range_find_method.

Successivamente, fare clic su Correre .

Alla fine, troverà l'ultima riga con i dati nel nostro foglio di lavoro Excel.

3. Utilizzo della funzione SpecialCells per trovare l'ultima riga con VBA

Questo metodo funziona come premere Ctrl+Fine Quando si preme Ctrl+Fine sulla tastiera, si arriva sempre all'ultima riga, indipendentemente dalla posizione in cui ci si trova. Ma se si desidera trovare l'ultima riga utilizzata con i dati utilizzando i codici VBA in Excel, questo codice è indispensabile.

📌 Passi

Per prima cosa, aprire l'editor VBA.

Quindi, digitate il seguente codice:

 Sub specialcells_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.SpecialCells(xlCellTypeLastCell).Row MsgBox "Ultima riga utilizzata: " & LastRow End Sub 

Salvare il file, quindi premere Alt+F8 per aprire la finestra di dialogo Macro e selezionare metodo_cellule_speciali .

Successivamente, fare clic su Correre .

Come si può vedere, siamo riusciti a trovare l'ultima riga con i dati utilizzando VBA in Excel.

4. Uso della funzione UsedRange per trovare l'ultima riga con dati in un intervallo

UsedRange in VBA è una proprietà del foglio di lavoro che restituisce un oggetto intervallo che rappresenta l'intervallo utilizzato (tutte le celle di Excel utilizzate o caricate in un foglio di lavoro) in un determinato foglio di lavoro. È una proprietà che indica l'area coperta o specificata dalle celle utilizzate in alto a sinistra e dalle celle utilizzate all'ultima destra in un foglio di lavoro.

📌 Passi

Per prima cosa, aprire l'editor VBA.

Quindi, digitate il seguente codice:

 Sub usedRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row MsgBox "Ultima riga utilizzata: " & LastRow End Sub 

Salvare il file, quindi premere Alt+F8 per aprire la finestra di dialogo Macro e selezionare usedRange_method.

Successivamente, fare clic su Correre .

Infine, in Excel viene visualizzata con successo l'ultima riga utilizzata in un foglio di lavoro.

5. Utilizzo dell'intervallo di tabelle con VBA in Excel

Se nel foglio di lavoro è presente una tabella, con questo metodo è possibile trovare l'ultima riga con i dati.

📌 Passi

Per prima cosa, aprire l'editor VBA.

Quindi, digitate il seguente codice:

 Sub TableRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.ListObjects("Table1").Range.Rows.Count + 3 MsgBox "Ultima riga utilizzata: " & LastRow End Sub 

Nota In questo caso, aggiungiamo 3 all'ultima riga, poiché il nostro set di dati è iniziato dopo la riga 3.

Salvare il file, quindi premere Alt+F8 per aprire la finestra di dialogo Macro e selezionare Metodo_di_tabella.

Successivamente, fare clic su Correre .

Come potete vedere, abbiamo utilizzato con successo il metodo dell'intervallo di tabelle nei codici VBA per trovare l'ultima riga con i dati in Excel.

6. Uso dell'intervallo con nome per trovare l'ultima riga con dati in un intervallo

Questo metodo non è comunemente utilizzato in Excel, ma riteniamo che dovreste impararlo per arricchire le vostre conoscenze.

Se il vostro set di dati ha un intervallo con nome, potete usare questo codice. Guardate la seguente schermata: contiene un intervallo con nome.

📌 Passi

Per prima cosa, aprire l'editor VBA.

Quindi, digitate il seguente codice:

 Sub nameRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("Named_Range").Rows.Count + 1 MsgBox "ultima riga utilizzata: " & LastRow End Sub 

Nota : Aggiungiamo 1 a LastRow perché l'intervallo è iniziato dopo la riga 1.

A questo punto, salvare il file e premere Alt+F8 per aprire la finestra di dialogo Macro. Selezionare nomeMetodo_di_Range.

Quindi, fare clic su Esegui.

Come si può vedere, siamo riusciti a trovare l'ultima riga con i dati utilizzando VBA.

7. Funzione CurrentRegion di VBA in Excel

È inoltre possibile utilizzare il metodo CurrentRegion di VBA per trovare l'ultima riga utilizzata in Excel. Sebbene sia complicato, è possibile utilizzarlo a proprio vantaggio.

📌 Passi

Per prima cosa, aprire l'editor VBA.

Quindi, digitate il seguente codice:

 Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 'aggiungere numeri in base alla propria scelta' MsgBox "Ultima riga utilizzata: " & LastRow End Sub 

Nota L'intervallo deve essere la prima cella del dataset e aggiungere il numero di righe in base alla propria scelta. In questo caso, abbiamo aggiunto 3 perché il nostro dataset è iniziato dopo la riga 3.

Salvare il file, quindi premere Alt+F8 per aprire la finestra di dialogo Macro e selezionare Metodo_regione_attuale

Quindi, fare clic su Esegui.

Come si può vedere, abbiamo trovato con successo l'ultima riga con i dati utilizzando il codice VBA.

💬 Cose da ricordare

Range.End funziona solo su una singola riga o colonna. Se il dataset contiene molte celle vuote, sarà difficile trovare l'ultima riga con i dati.

A volte è necessario aggiungere alcuni valori ai metodi per eseguire il codice senza problemi. Abbiamo aggiunto i numeri di riga per trovare l'ultima cella. Quindi, è necessario ricordare da dove è partito il dataset.

Conclusione

Per concludere, spero che questa esercitazione vi abbia fornito un po' di conoscenze utili per trovare l'ultima riga con i dati in un intervallo usando VBA in Excel. Vi consigliamo di imparare e applicare tutte queste istruzioni al vostro set di dati. Scaricate la cartella di lavoro di esercitazione e provatele voi stessi. Inoltre, sentitevi liberi di dare un feedback nella sezione dei commenti. Il vostro prezioso feedback ci mantiene motivati a creare esercitazioni come questa.

Non dimenticate di consultare il nostro sito web Exceldemy.com per vari problemi e soluzioni relativi a Excel.

Continuate a imparare nuovi metodi e a crescere!

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.