- Da Excel, aprire l'editor VBA tramite la combinazione di tasti ALT+F11;
- Cliccare sul menu Inserisci e selezionare la voce Modulo;
FIG 1 - Excel, VBA Inserisci Modulo - Incollare il seguente codice
Sub OrdinaFogli() Dim i As Integer Dim j As Integer Dim ordinamento ordinamento = InputBox("Digitare 1 per ordinare i fogli in modo crescente (dalla A alla Z), 2 per ordinare i fogli in modo
decrescente (dalla Z alla A):", "Ordina fogli", "1") If ordinamento = "" Then Exit Sub End If If IsNumeric(ordinamento) And ordinamento >= 1 And ordinamento <= 2 Then For i = 1 To Sheets.Count For j = 1 To Sheets.Count - 1 If ordinamento = 1 Then If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1) End If ElseIf ordinamento = 2 Then If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1) End If End If Next j Next i Else MsgBox "Il valore inserito non è valido!" End If End Sub
- Salvare il progetto (CTRL+S);
- Chiudere l'editor con la combinazione ALT+Q;
Per richiamare la funzione premere la combinazione ALT+F8, selezionare OrdinaFogli e cliccare sul pulsante Esegui. Nella finestra di dialogo digitare il tipo di ordinamento desiderato:
1 - per ordinare i fogli in modo crescente;
2 - per ordinare i fogli in modo decrescente.
FIG 2 - Excel, Esegui funzione |
FIG 3 - Indicare il tipo di ordinamento desiderato |
Cliccando sul link che segue è possibile scaricare un file di testo contenente il codice VBA
DOWNLOAD