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.
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.
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
- Programmazione
- Microsoft Excel
- macro
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.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti