Vba: come ordinare i valori in ordine alfabetico
È possibile utilizzare la seguente sintassi di base in VBA per ordinare i valori in un intervallo in ordine alfabetico:
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
Questo particolare esempio ordina le righe nell’intervallo A1:B11 in base ai valori nella colonna A in ordine alfabetico (dalla A alla Z).
Se si desidera ordinare i valori in ordine alfabetico inverso (dalla Z alla A), è possibile specificare invece Order1:=xlDescending .
Tieni presente che Header:=xlYes specifica che la prima riga deve essere trattata come una riga di intestazione.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: ordinare i valori in ordine alfabetico utilizzando VBA
Supponiamo di avere il seguente set di dati in Excel che contiene informazioni su vari giocatori di basket:
Diciamo che vogliamo ordinare le righe in base al nome della squadra in ordine alfabetico.
Per fare ciò possiamo creare la seguente macro:
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Le righe ora sono ordinate alfabeticamente in base al nome della squadra (dalla A alla Z).
Per ordinare le righe in ordine alfabetico inverso (dalla Z alla A), possiamo specificare Order1:=xlDescending :
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlDescending, Header:=xlYes
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Le righe ora sono ordinate per nome della squadra in ordine alfabetico inverso (dalla Z alla A).
Nota n. 1 : in questo esempio, abbiamo ordinato su una colonna. Tuttavia, puoi specificare più chiavi per ordinare su più colonne.
Nota n.2 : puoi trovare la documentazione completa del metodo di ordinamento VBA qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come ordinare un foglio per più colonne
VBA: come contare il numero di righe nell’intervallo
VBA: come filtrare una colonna