Cartella di lavoro VBA - Esempi di utilizzo dell'oggetto cartella di lavoro VBA di Excel

Cartella di lavoro VBA di Excel

VBA Workbook è un oggetto che fa parte della raccolta di oggetti Workbooks. Vediamo facilmente la differenza di una parte della raccolta di oggetti e dell'oggetto stesso, la parola plurale di "cartelle di lavoro" si riferisce a molte "cartelle di lavoro". In VBA, abbiamo molti altri oggetti come fogli di lavoro, celle e intervalli, grafici e forme.

Nella piattaforma excel il file excel viene chiamato "Cartella di lavoro", specialmente in VBA. Non lo chiamiamo mai file; piuttosto, lo chiamiamo "cartella di lavoro".

Facendo riferimento alla cartella di lavoro, possiamo svolgere tutte le attività ad essa correlate. Alcune delle attività importanti sono "Apri cartella di lavoro", "Salva cartella di lavoro", "Salva come cartella di lavoro" e "Chiudi cartella di lavoro". Possiamo selezionare, attivare le cartelle di lavoro che vengono aperte.

Sintassi

Ora, guarda qual è la sintassi della cartella di lavoro.

Un indice non è altro che la cartella di lavoro che desideri selezionare. Possiamo fare riferimento alla cartella di lavoro in base al numero della cartella di lavoro o al nome della cartella di lavoro.

Utilizzo del codice oggetto VBA WorkBook

Esempio 1

Ad esempio, ho due file aperti in questo momento. Il nome della prima cartella di lavoro è "File 1" e il nome della seconda cartella di lavoro è "File 2".

Ora sto scrivendo il codice nel terzo file. Da questo file, voglio attivare la cartella di lavoro denominata "File 1".

Passaggio 1: avviare la macro creando una sottoprocedura VBA.

Codice:

Sub Workbook_Example1 () End Sub

Passaggio 2: ora seleziona l'oggetto cartella di lavoro.

Passaggio 3: ora, inserisci la cartella di lavoro che vogliamo attivare.

Codice:

Sub Workbook_Example1 () Workbooks ("File 1 End Sub

Passaggio 4: dopo aver inserito il nome della cartella di lavoro, è necessario inserire anche l'estensione del file. Ho salvato questa cartella di lavoro come una normale cartella di lavoro, cioè cartella di lavoro "xlsx" .

Codice:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx") End Sub

Passaggio 5: ora, dobbiamo decidere cosa vogliamo fare con questa cartella di lavoro. Inserisci punto per vedere tutte le opzioni disponibili con questa cartella di lavoro.

Passaggio 6: ora, dobbiamo attivare la cartella di lavoro, selezionare il metodo come "Attiva".

Codice:

Sub Workbook_Example1 () Cartelle di lavoro ("File 1.xlsx"). Attiva End Sub

Non importa in quale cartella di lavoro ti trovi. Attiverà la cartella di lavoro specificata.

Non appena si seleziona la cartella di lavoro, diventa una "cartella di lavoro attiva".

Esempio # 2: immettere i valori nella cartella di lavoro

Come ho detto non appena selezioni la cartella di lavoro, diventa una cartella di lavoro attiva. Utilizzando Active Workbook, possiamo fare riferimento alla cella.

Nella cartella di lavoro attiva, dobbiamo selezionare il foglio in base al suo nome, oppure usiamo la parola Foglio attivo.

Nel foglio di lavoro attivo, dobbiamo selezionare la cella utilizzando l'oggetto Range.

Codice:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). Attiva ActiveWorkbook.ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Quando si esegue questo codice utilizzando il tasto F5 o manualmente, verrà inserita la parola "Hello" nella cella A1 della cartella di lavoro "File 1.xlsx".

Possiamo anche usare il codice seguente per fare lo stesso lavoro.

Codice:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Questo inserirà anche la parola "Ciao" nella cartella di lavoro "File 1.xlsx".

Esempio # 3: assegna cartella di lavoro a variabile

Possiamo anche assegnare il tipo di dati come "cartella di lavoro" alla variabile dichiarata. Dichiara la variabile come cartella di lavoro.

Codice:

Sub Workbook_Example2 ()

Dim WB come cartella di lavoro

End Sub

Ora dobbiamo impostare la variabile oggetto sul nome della cartella di lavoro utilizzando la parola "Imposta".

Codice:

Sub Workbook_Example2 () Dim WB As Workbook Set WB = Workbooks ("File 1.xlsx") End Sub

D'ora in poi, la variabile “WB” contiene il nome della cartella di lavoro “File 1.xlsx”.

Usando il nome della variabile, possiamo inserire le parole.

Codice:

Sub Workbook_Example2 () Dim WB As Workbook Set WB = Workbooks ("File 1.xlsx") WB.Worksheets ("Sheet1"). Range ("A1") = "Hello" WB.Worksheets ("Sheet1"). Range ( "B1") = "Good" WB.Worksheets ("Sheet1"). Range ("C1") = "Morning" End Sub

Esegui questo codice manualmente o usa il tasto di scelta rapida F5 e guarda il risultato, come mostrato nello screenshot qui sotto.

WB.Worksheets ("Sheet1"). Range ("A1") = "Hello"

Qui WB fa riferimento alla cartella di lavoro, in quella cartella di lavoro, facciamo riferimento al foglio di lavoro Sheet1 utilizzando l'oggetto Worksheets. In quella cella del foglio di lavoro, A1 è uguale al valore di "Hello".

Possiamo anche fare riferimento alla cartella di lavoro in base al numero di indice. Ad esempio, guarda il codice seguente.

Codice:

Sub Workbook_Example3() Workbooks(1).Activate Workbooks(2).Activate Workbooks(3).Activate End Sub

Here Workbooks (1) means whichever the workbook first on the list, like this similarly Workbooks (2) refers to the second workbook, and Workbooks (3) refers to the third workbook.

The main problem with this index number referencing is we don’t know exactly which workbook activated. It is dangerous to use index numbers.

Example #4 - For Each Loop for Workbook Object

As I told in the beginning, the workbook is a collection object of Workbooks in VBA. Whenever we want to perform the same kind of activity for all the opened workbooks, we need to use For Each loop in VBA.

For Each Loop is the loop for all the objects in VBA. Use the below code to save all the opened workbooks.

Code:

Sub Save_All_Workbooks () Dim WB come cartella di lavoro per ogni WB nelle cartelle di lavoro WB.Save Next WB End Sub

Quando esegui questo codice tramite il tasto F5 o manualmente, viene visualizzato un popup che chiede di salvare la cartella di lavoro. Fare clic su Ok per salvare.

Usa il codice seguente per chiudere tutte le cartelle di lavoro tranne quella su cui stai lavorando.

Codice:

Sub Close_All_Workbooks () Dim WB come cartella di lavoro per ogni WB nelle cartelle di lavoro If WB.Name ThisWorkbook.Name Then WB.Close End If Next WB End Sub

Prima di chiudere la cartella di lavoro viene visualizzata una finestra popup.

Articoli interessanti...