Sommario
L'esercitazione mostra come ordinare rapidamente i fogli di lavoro di Excel in ordine alfabetico utilizzando il codice VBA e lo strumento Gestione cartelle di lavoro.
Microsoft Excel offre una serie di modi semplici e veloci per disporre le colonne o le righe in ordine alfabetico. Ma c'è solo un metodo per riorganizzare i fogli di lavoro in Excel: trascinarli nella posizione desiderata sulla barra delle schede del foglio. Quando si tratta di mettere in ordine alfabetico le schede di una cartella di lavoro molto grande, questo può essere un metodo lungo ed errato. Cercate un'alternativa che vi faccia risparmiare tempo? Ne esistono solo due: il codice VBAo strumenti di terze parti.
Come mettere in ordine alfabetico le schede in Excel con VBA
Di seguito troverete tre esempi di codice VBA per ordinare i fogli di Excel in modo ascendente, discendente e in entrambe le direzioni in base alla scelta dell'utente.
Presupponendo che abbiate una certa esperienza con VBA, ci limiteremo a illustrare i passaggi fondamentali per aggiungere una macro al vostro foglio di lavoro:
- Nella cartella di lavoro di Excel, premete Alt + F11 per aprire l'editor di Visual Basic.
- Nel riquadro di sinistra, fare clic con il tasto destro del mouse su Questo libro di lavoro e quindi fare clic su Inserire > Modulo .
- Incollare il codice VBA nella finestra Codice.
- Premere F5 per eseguire la macro.
Per le istruzioni dettagliate, vedere Come inserire ed eseguire codice VBA in Excel.
Suggerimento: se si desidera conservare la macro per un ulteriore utilizzo, assicurarsi di salvare il file come cartella di lavoro di Excel abilitata alle macro (.xlsm).
In alternativa, potete scaricare la nostra cartella di lavoro di esempio Alphabetize Excel Tabs, abilitare il contenuto se richiesto ed eseguire la macro desiderata direttamente da lì. La cartella di lavoro contiene le seguenti macro:
- TabsAscending - ordinare i fogli in ordine alfabetico dalla A alla Z.
- TabsDescending - disporre i fogli in ordine inverso, dalla Z alla A.
- AlfabetizzaTabs - ordinare le schede del foglio in entrambe le direzioni, ascendente o discendente.
Con la cartella di lavoro di esempio scaricata e aperta in Excel, aprite la vostra cartella di lavoro in cui volete mettere in ordine alfabetico le schede, premete Alt + F8 , selezionate la macro desiderata e fate clic su Correre .
Ordinare le schede di Excel in ordine alfabetico dalla A alla Z
Questa piccola macro organizza i fogli della cartella di lavoro corrente in ordine alfanumerico crescente , prima i fogli di lavoro il cui nome inizia con un numero, poi i fogli dalla A alla Z.
Sub TabsAscending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name)> UCase$(Application.Sheets(j + 1).Name) Then Sheets(j).Move after:=Sheets(j + 1) End If Next Next MsgBox "Le schede sono state ordinate dalla A alla Z" End SubDisporre le schede di Excel dalla Z alla A
Se si desidera ordinare i fogli in ordine alfanumerico decrescente (da Z ad A, quindi fogli con nomi numerici), quindi utilizzare il seguente codice:
Sub TabsDescending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name) <UCase$(Application.Sheets(j + 1).Name) Then Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next MsgBox "Le schede sono state ordinate da Z ad A" End SubMettere in ordine alfabetico le schede in ordine crescente o decrescente
Questa macro consente agli utenti di decidere come ordinare i fogli di lavoro in una determinata cartella di lavoro, in ordine alfabetico dalla A alla Z o in ordine inverso.
Poiché la finestra di dialogo standard (MsgBox) di Excel VBA consente di scegliere solo tra una manciata di pulsanti predefiniti, creeremo il nostro modulo (UserForm) con tre pulsanti personalizzati: Dalla A alla Z , Da Z ad A , e Annullamento .
A questo scopo, aprire l'editor di Visual Basic, fare clic con il tasto destro del mouse su Questo libro di lavoro e fare clic su Inserire > Modulo utente . nome del modulo Ordina da e aggiungervi 4 controlli: un'etichetta e tre pulsanti:
Quindi, premere F7 (o fare doppio clic sul modulo) per aprire la finestra di dialogo Codice Il codice intercetta i clic sui pulsanti e assegna un tag unico a ogni pulsante:
Private Sub CommandButton1_Click() Me.Tag = 1 Me.Hide End Sub Private Sub CommandButton2_Click() Me.Tag = 2 Me.Hide End Sub Private Sub CommandButton3_Click() Me.Tag = 0 Me.Hide End SubA seconda che l'utente faccia clic sul pulsante Dalla A alla Z o Da Z ad A sul modulo, ordinare le schede in ordine alfabetico crescente (selezionato per impostazione predefinita) o in ordine alfabetico decrescente; oppure chiudere il modulo e non fare nulla nel caso di Annullamento Questo si ottiene con il seguente codice VBA, che si inserisce nel modo consueto tramite Inserire > Modulo .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Then Exit Sub For x = 1 To Application.Sheets.Count For y = 1 To Application.Sheets.Count - 1 If SortOrder = 1 Then If UCase$(Application.Sheets(y).Name)> UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If ElseIf SortOrder = 2 Then If UCase$(Application.Sheets(y).Name)<UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If End If Next Next End Sub Function showUserForm() As Integer showUserForm = 0 Load SortOrderForm SortOrderForm.Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End FunctionSe non siete ancora molto pratici di VBA, potete semplicemente scaricare la nostra cartella di lavoro di esempio per mettere in ordine alfabetico le schede, aprirla in Excel insieme al vostro file in cui volete ordinare le schede ed eseguire il comando AlfabetizzaTabs dalla cartella di lavoro:
Scegliere l'ordine preferito, ad esempio, Dalla A alla Z e osservare i risultati:
Suggerimento: con VBA è possibile creare copie dei fogli di lavoro di Excel. Il codice è disponibile qui: Come duplicare un foglio in Excel con VBA.
Come ordinare le schede di Excel in ordine alfabetico con Ultimate Suite
Gli utenti della nostra Ultimate Suite per Excel non devono armeggiare con VBA: hanno a disposizione un Workbook Manager multifunzionale:
Con questo strumento aggiunto alla barra multifunzione di Excel, l'alfabetizzazione delle schede avviene con un solo clic, esattamente come dovrebbe essere!
Se siete curiosi di esplorare questo e altri 70 strumenti professionali per Excel, potete scaricare qui una versione di prova della nostra Ultimate Suite.
Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!