Intervallo ordinamento VBA - Come ordinare l'intervallo in Excel VBA?

Intervallo di ordinamento VBA di Excel

L'ordinamento di un intervallo in VBA viene eseguito dal metodo range.sort, è una proprietà del metodo intervallo con cui un utente può ordinare un intervallo in ordine, gli argomenti per questa funzione sono Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, tutti gli argomenti per questa funzione sono opzionali.

Come parte dell'organizzazione o della strutturazione dei dati, è importante ordinare i dati e organizzarli. Una cosa simile è disponibile anche con VBA, quindi una domanda comune sui nuovi studenti di VBA è come possiamo utilizzare questa opzione di ordinamento come parte dell'automazione VBA e questo articolo ti guida attraverso la gamma di ordinamento VBA in dettaglio.

Con Excel, abbiamo tutti familiarità con l'opzione dell'ordinamento disponibile nella scheda DATI.

Opzione di ordinamento in VBA

Per utilizzare l'opzione di ordinamento, in primo luogo, dobbiamo decidere qual è il nostro intervallo di dati e menzionare lo stesso intervallo di dati utilizzando l'oggetto RANGE in VBA, quindi solo noi possiamo accedere all'opzione "Ordina" in VBA. Ad esempio, supponiamo che il mio intervallo di dati sia da A1 a D10, quindi possiamo fornire l'intervallo di dati come segue.

Codice:

Sub Sort_Range_Example () Range ("A1: D10") End Sub

Ora metti un punto e seleziona il metodo "SORT".

Codice:

Sub Sort_Range_Example () Intervallo ("A1: D10"). Ordina End Sub

Di seguito è riportata la sintassi del metodo di intervallo SORT. Sebbene la sintassi abbia argomenti diversi, non abbiamo bisogno di tutti per la nostra codifica VBA, quindi abbiamo bisogno solo di pochi elementi.

(Key1): Nell'intervallo di dati che stiamo ordinando, dobbiamo specificare quale colonna dobbiamo ordinare. Ad esempio, nell'intervallo di dati di A1: D10, se si desidera ordinare i dati in base alla colonna B, (Chiave1) sarà Intervallo ("B1") .

(Order1): la colonna menzionata nell'argomento (Key1) dovrebbe essere ordinata in quale ordine. Possiamo scegliere due opzioni qui "xlAscending" o "xlDescending".

Intestazione: l'intervallo di dati menzionato ha o meno intestazioni. Se sì, possiamo fornire "xlYes" oppure possiamo fornire "xlNo".

Esempio di intervallo di ordinamento in VBA

Prendiamo l'esempio dell'intervallo di ordinamento VBA di Excel per capirlo in modo migliore.

Ad esempio, guarda la struttura dei dati di seguito.

Abbiamo dati da A1 a E17, quindi per prima cosa ordineremo i dati in base al "Paese". Segui i passaggi seguenti per scrivere il codice per ordinare i dati.

Passaggio 1: avvia la procedura macro di Excel.

Codice:

Sub Sort_Range_Example () End Sub

Passaggio 2: in primo luogo, menzionare l'intervallo di dati utilizzando l' oggetto RANGE .

Codice:

Sub Sort_Range_Example () Range ("A1: E17") End Sub

Passaggio 3: ora scegli il metodo " Ordina " dell'oggetto Range.

Codice:

Sub Sort_Range_Example () Intervallo ("A1: E17"). Ordina End Sub

Passaggio 4: poiché stiamo ordinando i dati in base al "Paese", la colonna dell'argomento Chiave 1 sarà Intervallo ("B1").

Codice:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), End Sub

Passaggio 5: una volta menzionata la colonna richiesta, è necessario indicare in quale ordine è necessario ordinare i dati e "Order1" sarà "xlAscending" .

Codice:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, End Sub

Passaggio 6: i nostri dati hanno intestazioni, quindi l'intestazione sarà "xlYes".

Codice:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Header: = xlYes End Sub

Abbiamo menzionato tutti gli elementi necessari per ordinare i dati. Eseguire il codice premendo la funzione e il tasto F5 e vedere il risultato.

Produzione:

I dati sono stati ordinati in base ai nomi dei paesi nell'ordine dalla A alla Z.

Ora supponiamo di dover ordinare i dati in base al Paese, inoltre dobbiamo ordinare le " Vendite lorde " dal più alto al più basso. In questi casi, dobbiamo utilizzare anche gli argomenti Key2 e Order2.

Dopo aver menzionato Key1 e Order1, scegliamo Key2.

Codice:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Key2: = End Sub

Poiché stiamo ordinando i dati in base alla colonna " Gross Sales ", il nome della nostra colonna Key2 sarà Range ("D1").

Codice:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending,Key2:=Range("D1"), End Sub

Once the Key2 is specified, we need to decide on the sorting patter of whether it is ascending order or descending order in Order2 argument. Since we are sorting the sales value from largest to smallest, we can choose “xlDescending” order.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("D1"), Order2:=xlDescending, Header:=xlYes End Sub

After that, mention the Header argument as “xlYes.” Now run the code and see what happens.

Output:

Previously it has sorted based only on “Country-wise” but this time it has sorted based on “Country-wise” first and then also on “Gross Sales” from highest to lowest.

In questo modo, possiamo utilizzare il metodo " Ordina " in VBA per organizzare i dati.

Cose da ricordare sull'intervallo di ordinamento VBA di Excel

  • L'ordinamento è un metodo disponibile in VBA e per accedere a questo metodo, dobbiamo specificare quale sia l'intervallo di celle che andremo a ordinare.
  • Se l'intervallo di dati include intestazioni, dobbiamo scegliere l'opzione di intestazione come "xlYes", altrimenti possiamo scegliere "xlNo".

Articoli interessanti...