Le macro di Excel potrebbero non essere complete come altri strumenti di automazione, ma la validità e l'efficienza di Excel VBA non possono essere compromesse. Se lavori in Excel e altri strumenti di Microsoft Office come Word e Access, non puoi sbagliare con VBA e le sue capacità.

MS Excel è un potente strumento che offre tantissime opzioni ai suoi utenti. Dall'archiviazione dei dati alla creazione di dashboard automatizzati, puoi fare tutto in Excel e nei suoi fogli di calcolo.

Se desideri utilizzare VBA per automatizzare le tue responsabilità di ordinamento in Excel, prova queste macro efficienti e facili da applicare.

Scarica un set di dati fittizio

Per cominciare, puoi scaricare un set di dati fittizio per lavorare sulle tue competenze macro di Excel.

Stai tranquillo, una volta che avrai preso confidenza con queste macro e avrai compreso meglio come funzionano le cose, puoi spostare il codice per adattarlo ai tuoi fogli di calcolo per il lavoro o la scuola.

Puoi scaricare il set di dati utilizzato in questo articolo se desideri seguire.

instagram viewer

Scarica: Set di dati Excel

1. Ordinamento di una colonna utilizzando le macro di Excel

Usa questo semplice codice per ordinare una colonna di dati all'interno di un foglio di calcolo Excel. Se hai scaricato il set di dati fittizio, puoi provare a ordinare la colonna E (Unità vendute).

Apri un nuovo file Excel e salvalo con un Cartella di lavoro con attivazione macro di Excel (.xlsm) tipo di cartella di lavoro. Questo file memorizzerà la macro per ordinare i dati da un altro file.

Imparentato: I migliori corsi online per padroneggiare Excel avanzato

Controllerai i tuoi file dal file macro, che interagirà con le tue cartelle di lavoro separatamente.

Inserisci il seguente codice:

Sotto ordinamento con intestazioni()
Cartelle di lavoro ("Esempio finanziario.xlsx"). Fogli (1). Attiva
Intervallo("A1:P701").Chiave di ordinamento1:=Intervallo("e1"), Ordine1:=xlAscendente, Intestazione:=xlSì
Fine sotto

Dove:

  • Tasto1: Definisci le colonne che vuoi ordinare
  • Ordine1: Metodo di ordinazione (ascendente/discendente)
  • Intestazione: Se il tuo contenuto ha intestazioni, questa opzione rimarrà come xlSì. In alternativa, selezionare xlNo.

L'intervallo sarà composto dalla cella iniziale e dall'indirizzo finale della cella in modo che tutto venga acquisito per scopi di ordinamento. Il risultato è che l'intero set di dati verrà ordinato in base ai dati nella colonna E.

2. Ordinamento dei dati dinamici in una singola colonna

Potrebbero esserci casi in cui il tuo punto di partenza è definito, ma il tuo endpoint è dinamico. In tal caso, puoi rendere dinamico il tuo codice in modo che raccolga automaticamente la fine dell'intervallo.

Per adattarsi alla modifica dei dati, utilizzare il codice seguente:

Sotto ordinamento con intestazioni()
Cartelle di lavoro ("Esempio finanziario.xlsx"). Fogli (1). Attiva
Range("A1", Range("A1").End (xlDown)).sort Key1:=Range("e2"), Order1:=xlAscending, Header:=xlYes
Fine sotto

Dove:

  • Fine (xlGiù): Questa funzione selezionerà automaticamente l'ultima cella popolata

Nota: se la formula rileva una cella vuota all'interno di una colonna, considererà la cella precedente come la fine dell'intervallo.

Imparentato: Come creare scorciatoie da tastiera personalizzate in Microsoft Excel

3. Ordinamento di più colonne insieme

Potrebbero verificarsi situazioni in cui si desidera ordinare i dati in più colonne contemporaneamente. Per fare ciò, puoi utilizzare il seguente codice per raggiungere il tuo scopo:

Sotto SortMultipleColonne()
Con fogli di lavoro ("Foglio1")
Con .Cells (1, "A").CurrentRegion
.Cells.sort Chiave1:=.Intervallo("B1"), Ordine1:=xlAscendente, _
Chiave2:=.Intervallo("E1"), Ordine2:=xlAscendente, _
Orientamento:=xlTopToBottom, Intestazione:=xlSì
Termina con
Termina con
Fine sotto

4. Ordinamento delle colonne su più fogli

Quando hai a che fare con più fogli, potresti voler preparare i tuoi dati per essere inseriti in una dashboard. Uno degli aspetti più importanti della preparazione dei dati è l'ordinamento e la disposizione dei dati in un determinato formato da presentare alle parti interessate o ai clienti.

Un'opzione è quella di scorrere manualmente ogni foglio, ordinare le colonne richieste e quindi procedere al passaggio successivo. In alternativa, perché non lasciare che VBA lo faccia per te?

Lo scopo del codice seguente è quello di scorrere ogni foglio disponibile nella cartella di lavoro e, in base alle colonne specificate, ordinare i dati disponibili.

Imparentato: Funzioni di ricerca di Microsoft Excel per cercare fogli di calcolo in modo più efficiente

Ecco come puoi ordinare le colonne su più fogli:

Ordinamento secondarioWS()
Dim ws come foglio di lavoro
'Attiva il foglio di lavoro previsto
Cartelle di lavoro ("Esempio finanziario.xlsx"). Attiva
'Scorri automaticamente ogni singolo foglio di lavoro utilizzando il ciclo for
Per ogni ws in ActiveWorkbook. Fogli
'attiva ogni singolo foglio di lavoro
w. Attivare
'Definisci l'intervallo e poi ordina la colonna in base alle tue esigenze. In questo caso, viene ordinata solo una colonna.
Range("A1", Range("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Comando utilizzato per passare al foglio di lavoro successivo, una volta che il foglio di lavoro precedente è stato ordinato
Avanti w
Fine sotto

Tutte le informazioni che iniziano con virgolette singole sono commenti VBA. Questi non vengono eseguiti durante la fase di esecuzione. Tuttavia, ogni commento VBA che aggiungi è un'aggiunta significativa al codice, poiché puoi definire l'essenza, la funzionalità e altre parti pertinenti all'interno delle sezioni del codice.

5. Copia di dati ordinati da un foglio all'altro

Immagina una situazione in cui desideri ordinare i dati e copiare l'intero set di dati (o parti di esso) in un foglio appena aggiunto. In tali casi, è possibile utilizzare il codice seguente per eseguire l'attività in questione:

Ordinamento secondarioWS()
Dim ws come foglio di lavoro
'Attiva il foglio di lavoro previsto
Cartelle di lavoro ("Esempio finanziario.xlsx"). Attiva
'Scorri automaticamente ogni singolo foglio di lavoro utilizzando il ciclo for
Per ogni ws in ActiveWorkbook. Fogli
'attiva ogni singolo foglio di lavoro
w. Attivare
'Definisci l'intervallo e poi ordina la colonna in base alle tue esigenze.
'In questo caso, viene ordinata solo una colonna.
Range("A1", Range("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Comando utilizzato per passare al foglio di lavoro successivo, una volta che il foglio di lavoro precedente è stato ordinato
Avanti w
'Crea un nuovo foglio di lavoro all'interno della cartella di lavoro per memorizzare i nuovi dati
Cartella di lavoro attiva. Fogli. Aggiungere. Nome = "Risultati"
'Copia incolla i dati ordinati nel foglio appena aggiunto
Fogli("Foglio1").Intervallo("A1:p701").Copia Destinazione:=Fogli("Risultati").Intervallo("a1")
Fine sotto

Il codice sopra ordinerà i valori nella colonna E, aggiungerà un nuovo foglio Risultati nella cartella di lavoro esistente e incolla i risultati ordinati nella cella A1.

Creazione di macro di ordinamento in Excel

Excel VBA è un linguaggio elegante che può farti risparmiare molto tempo e fatica. Utilizzando le macro VBA, puoi creare dashboard estesi, ordinare facilmente i dati con pochi clic ed eseguire facilmente diverse funzioni.

Fortunatamente, le funzionalità di Excel non si esauriscono con le macro. Dai un'occhiata ad alcuni suggerimenti e trucchi per diventare un utente Excel più efficiente.

I 9 migliori siti Web e blog per imparare suggerimenti e trucchi su Excel

Che tu sia un maestro di Excel o che tu abbia appena iniziato, ecco i primi nove siti Web e blog che puoi utilizzare per imparare alcuni suggerimenti e trucchi.

Leggi Avanti

CondividereTweetE-mail
Argomenti correlati
  • Programmazione
  • Microsoft Excel
  • macro
Circa l'autore
Gaurav Siyal (8 Articoli Pubblicati)

Gaurav Siyal ha due anni di esperienza nella scrittura, scrivendo per una serie di società di marketing digitale e documenti sul ciclo di vita del software.

Altro da Gaurav Siyal

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti