Capita spesso di dover creare cicli in VBA che coinvolgono tutte le righe avvalorate in un determinato foglio di lavoro.
Ma se il numero di righe è variabile, a priori non è possibile conoscere il numero l’ultima riga avvalorata.
Una delle possibili soluzioni a questo problema è quella di salire (dal basso verso l’alto) fino alla prima riga vuota disponibile (in Excel 2003, e versioni precedenti, il nostro foglio non può avere più di 65.000 righe). In pratica:
UltimaRiga = Sheets("Foglio1").Range("A65000").End(XlUp).Row
Quindi il nostro ciclo sarà qualcosa del genere:
Sub prova() UltimaRiga = Sheets("Foglio1").Range("A65000").End(XlUp).Row For i = 1 to UltimaRiga ... Next End Sub
N.B.: in Excel 2007 e 2010 il numero massimo di righe è stato aumentato a 1.048.576.
per trovare l’ultima riga indipendentemente dalla versione utilizzata è possibile usare il seguente codice:
ultimariga = Cells(Rows.Count, 1).End(xlUp).Row
Complimenti per il blog molto interessante.
Saluti