Vba: come trovare l'ultima colonna utilizzata


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

 Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub

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

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

 Sub FindLastColumn()
Dim LastCol As Long
    
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column

MsgBox " Last Column: " & LastCol
End Sub

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

Correlati: VBA: come trovare l’ultima riga utilizzata

Esempio 1: trova l’ultima colonna 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 colonna utilizzata in questo foglio Excel e visualizzare il risultato nella cella A14 :

 Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Nota che la cella A14 contiene il valore 2 .

Questo ci dice che l’ultima colonna utilizzata in questo particolare foglio è la colonna 2.

Vale anche la pena notare che se ci sono colonne vuote prima di una colonna utilizzata, questa macro troverà sempre l’ultima colonna utilizzata.

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

La cella A14 contiene il valore 5 perché è l’ultima colonna contenente valori.

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

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

Per fare ciò possiamo creare la seguente macro:

 Sub FindLastColumn()
Dim LastCol As Long
    
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column

MsgBox " Last Column: " & LastCol
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

VBA trova l'ultima colonna utilizzata

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

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 *