Vba: come ottenere valori univoci da una colonna


Puoi utilizzare la funzione AdvancedFilter in VBA per ottenere rapidamente un elenco di valori univoci da una colonna in Excel.

Ecco un modo comune per farlo:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Questo particolare esempio estrae un elenco di valori univoci dall’intervallo A1:A11 e li visualizza dalla cella E1 .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: ottieni valori univoci da una colonna utilizzando VBA

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

Diciamo che vogliamo estrarre un elenco di valori univoci dalla colonna Team .

Per fare ciò possiamo creare la seguente macro:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

La colonna E ora mostra un elenco di valori univoci dalla colonna Team nel set di dati originale.

Tieni presente che il metodo AdvancedFilter non fa distinzione tra maiuscole e minuscole.

Ad esempio, se avessimo i nomi delle squadre “MAVS” e “Mavs” nella stessa colonna, questa particolare macro restituirebbe solo il primo dei due valori che appaiono nella colonna Squadra poiché condividono esattamente gli stessi caratteri.

Nota : qui è possibile trovare la documentazione completa del metodo AdvancedFilter in VBA.

Risorse addizionali

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

VBA: come contare le celle con testo specifico
VBA: come contare il numero di righe nell’intervallo
VBA: come contare i valori univoci nell’intervallo

Aggiungi un commento

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