Loop attraverso i libri e fogli in Excel VBA
Di seguito vedremo un programma in Excel VBA che scorre tutta la cartella aperta e fogli di lavoro, e visualizza tutti i nomi.
Situazione:
Aggiungere le seguenti righe di codice per il pulsante di comando:
-
In primo luogo, dichiarare due oggetti e una variabile. Un oggetto di tipo cartella di lavoro che chiamiamo libro, un oggetto di tipo foglio di lavoro che chiamiamo fogli, e una variabile di tipo String che chiamiamo testo.
Dim book As Workbook, sheet As Worksheet, text As String
-
Vogliamo scorrere tutta la cartella aperta. Per raggiungere questo obiettivo, aggiungere la seguente riga di codice:
For Each book In Workbooks
-
Scrivere il testo “Cartella di lavoro:”, il nome della cartella di lavoro, e il testo “Fogli di lavoro: ” al testo variabile
text = text & "Workbook: " & book.Name & vbNewLine & "Worksheets: " & vbNewLine
-
Nota: è possibile utilizzare l’operatore & per concatenare (join) elementi per iniziare una nuova riga, è possibile utilizzare vbNewLine
-
Per eseguire un ciclo attraverso tutti i fogli di una cartella di lavoro, aggiungere la seguente riga di codice:..
-
For Each sheet In book.Worksheets
5 . scriviamo i nomi dei fogli di lavoro di una cartella di lavoro per il testo variabile.
text = text & sheet.Name & vbNewLine
-
Chiudere il secondo ciclo.
Next sheet
-
Aggiungere una linea bianca.
text = text & vbNewLine
-
non dimenticare di chiudere il primo ciclo.
Next book
-
Infine, visualizziamo il testo variabile utilizzando un MsgBox.
.
MsgBox text
-
test del programma Prima di fare clic sul pulsante di comando, dare ai vostri fogli di lavoro alcuni nomi descrittivi e aprire una cartella di lavoro in bianco con tre fogli di lavoro
Risultato:.