Come ordinare l'intervallo in vba?

Per ordinare un intervallo di celle utilizzando VBA, è necessario utilizzare il metodo “ORDINA” che consente di impostare una singola chiave (colonna) o più chiavi (per più colonne) per l’ordinamento. Puoi anche impostare l’ordine (ascendente o discendente) che desideri ordinare e puoi specificare se hai un’intestazione o meno.

Ordina un intervallo con VBA

  1. Utilizza l’oggetto intervallo per specificare l’intervallo che desideri ordinare.
  2. Digitare un punto e immettere il metodo di ordinamento.
  3. Specifica la chiave che desideri utilizzare per l’ordinamento.
  4. Imposta l’ordinamento.
  5. Indica se hai un’intestazione o meno.
ordina un intervallo per vba
 Range("A1:A11").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Header:=xlYes

Nel codice sopra hai utilizzato l’intervallo A1: A11 e nel metodo di ordinamento hai utilizzato l’ordine crescente, hai menzionato che hai un’intestazione nell’intervallo.

Comprensione del metodo di ordinamento di VBA

Prima di scrivere una macro per ordinare un intervallo, è meglio approfondire il metodo di ordinamento e comprenderne gli argomenti.

 Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, _ Header, OrderCustom, MatchCase, Orientation, SortMethod, _ DataOption1, DataOption2, DataOption3)

Ecco gli argomenti più importanti che utilizzerai nella vita reale.

  • Chiave : qui è necessario definire una cella di cui si desidera utilizzare la colonna come base di ordinamento.
  • Ordine : ordine in cui si desidera ordinare la colonna (ascendente/discendente).
  • Intestazione : una costante per specificare se si dispone o meno di un’intestazione o se si desidera che VBA indovini.

Ordina in ordine decrescente

Nel codice seguente, ho utilizzato “xlDescending” per ordinare la colonna dell’importo in ordine decrescente.

Ordina in ordine decrescente
 Range("A1:A13").Sort Key1:=Range("A1"), _ Order1:=xlDescending, _ Orientation:=xlSortColumns

Utilizzo di più colonne (chiavi) per l’ordinamento

Puoi anche utilizzare più colonne per ordinare un intervallo. Prendiamo un esempio dalla tabella seguente in cui sono presenti più voci con nomi di dipendenti e città e devi ordinare utilizzando nome e città.

Utilizza più colonne per ordinare

Ecco il codice che devi utilizzare:

codici per più colonne
 Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Key2:=Range("B1"), _ Order1:=xlAscending, _ Header:=xlYes

Come puoi vedere nel codice hai key1 e key2. Nella chiave 1 hai la colonna con il nome del dipendente e nella chiave 2 hai la colonna della città. Per entrambe le colonne, l’ordinamento è crescente e le intestazioni sono presenti.

Nota: puoi utilizzarla come qualsiasi colonna che desideri utilizzare come base per l’ordinamento utilizzando chiavi e ordine.

Cambiare l’orientamento del destino

Quando normalmente ordini i dati in Excel, per impostazione predefinita puoi ordinarli utilizzando le colonne. Ma dalle opzioni di ordinamento, puoi modificare l’orientamento dell’ordinamento da sinistra a destra anziché dall’alto verso il basso.

orientamento al destino

Allo stesso modo, hai un argomento nel metodo sort per cambiare l’orientamento ( link ).

metodo per ordinare l'orientamento
 Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Orientation:=xlSortRows

Aggiungi un commento

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