Vba: come ordinare un foglio per più colonne


È possibile utilizzare la seguente sintassi di base per ordinare un foglio Excel in più colonne utilizzando VBA:

 Sub SortMultipleColumns()
    Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
                         Key2:=Range(" B1 "), Order2:=xlDescending, _
                         Header:=xlYes
End Sub

Questo particolare esempio ordina le celle nell’intervallo A1:B11 prima in base ai valori nella colonna A in ordine crescente, quindi in base ai valori nella colonna B in ordine decrescente.

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 un foglio Excel per più colonne utilizzando VBA

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

Supponiamo di voler ordinare il dataset nel seguente modo:

  • Innanzitutto, ordina in base ai valori nella colonna Squadra in ordine crescente (dalla A alla Z).
  • Successivamente, ordina in base ai valori nella colonna Punti in ordine decrescente (dal più grande al più piccolo).

Per fare ciò possiamo creare la seguente macro:

 Sub SortMultipleColumns()
    Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
                         Key2:=Range(" B1 "), Order2:=xlDescending, _
                         Header:=xlYes
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Le righe ora sono ordinate per nome della squadra in ordine crescente e per punti in ordine decrescente.

Nota n. 1 : in questo esempio, abbiamo ordinato su due colonne. Tuttavia, puoi specificare tutte le chiavi che desideri per ordinare ancora 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 scrivere le funzioni MEDIA.SE e MEDIA.SE
VBA: come scrivere le funzioni SOMMA.SE e SOMMA.FS
VBA: come scrivere le funzioni COUNTIF e COUNTIFS

Aggiungi un commento

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