Βιβλίο εργασίας VBA - Παραδείγματα χρήσης αντικειμένου βιβλίου εργασίας Excel VBA

Πίνακας περιεχομένων

Βιβλίο εργασίας του Excel VBA

Το βιβλίο εργασίας VBA είναι ένα αντικείμενο που αποτελεί μέρος της συλλογής αντικειμένων των Βιβλίων εργασίας. Βλέπουμε εύκολα τη διαφορά μέρους της συλλογής αντικειμένων και του ίδιου του αντικειμένου, η πληθυντική λέξη του «Workbooks» αναφέρεται ότι έχει πολλά «Workbook». Στο VBA, έχουμε πολλά άλλα αντικείμενα όπως φύλλα εργασίας, κελιά και εύρη, γραφήματα και σχήματα.

Στην πλατφόρμα excel το αρχείο excel ονομάζεται "Βιβλίο εργασίας", ειδικά στο VBA. Δεν το αποκαλούμε ποτέ αρχείο. μάλλον, το αποκαλούμε «Βιβλίο εργασίας».

Αναφερόμενος στο βιβλίο εργασίας, μπορούμε να κάνουμε όλες τις εργασίες που σχετίζονται με αυτό. Μερικές από τις σημαντικές εργασίες είναι "Άνοιγμα βιβλίου εργασίας", "Αποθήκευση βιβλίου εργασίας", "Αποθήκευση ως βιβλίου εργασίας" και "Κλείσιμο βιβλίου εργασίας". Μπορούμε να επιλέξουμε, να ενεργοποιήσουμε τα βιβλία εργασίας που ανοίγονται.

Σύνταξη

Τώρα, κοιτάξτε ποια είναι η σύνταξη του βιβλίου εργασίας.

Ένα ευρετήριο δεν είναι τίποτα άλλο από το βιβλίο εργασίας που θέλετε να επιλέξετε. Μπορούμε να αναφερθούμε στο βιβλίο εργασίας με τον αριθμό βιβλίου εργασίας ή με το όνομα του βιβλίου εργασίας.

Χρήση του κώδικα αντικειμένων VBA WorkBook

Παράδειγμα # 1

Για παράδειγμα, έχω ανοίξει δύο αρχεία αυτήν τη στιγμή. Το πρώτο όνομα του βιβλίου εργασίας είναι "Αρχείο 1" και το δεύτερο όνομα του βιβλίου εργασίας είναι "Αρχείο 2".

Τώρα γράφω τον κωδικό στο τρίτο αρχείο. Από αυτό το αρχείο, θέλω να ενεργοποιήσω το βιβλίο εργασίας που ονομάζεται "Αρχείο 1".

Βήμα 1: Ξεκινήστε τη μακροεντολή δημιουργώντας μια υποδιαδικασία VBA.

Κώδικας:

Υπο Βιβλίο Εργασίας_ Παράδειγμα1 () Τέλος Υπο

Βήμα 2: Τώρα επιλέξτε το αντικείμενο του βιβλίου εργασίας.

Βήμα 3: Τώρα, εισαγάγετε το βιβλίο εργασίας που θέλουμε να ενεργοποιήσουμε.

Κώδικας:

Sub Workbook_Example1 () Βιβλία εργασίας ("Αρχείο 1 End Sub

Βήμα 4: Αφού εισαγάγετε το όνομα του βιβλίου εργασίας, πρέπει επίσης να εισαγάγουμε την επέκταση αρχείου. Έχω αποθηκεύσει αυτό το βιβλίο εργασίας ως κανονικό βιβλίο εργασίας, δηλαδή, "xlsx" βιβλίο εργασίας.

Κώδικας:

Sub Workbook_Example1 () Βιβλία εργασίας ("File 1.xlsx") End Sub

Βήμα 5: Τώρα, πρέπει να αποφασίσουμε τι θέλουμε να κάνουμε με αυτό το βιβλίο εργασίας. Εισαγάγετε κουκκίδα για να δείτε όλες τις διαθέσιμες επιλογές με αυτό το βιβλίο εργασίας.

Βήμα 6: Τώρα, πρέπει να ενεργοποιήσουμε το βιβλίο εργασίας, επιλέξτε τη μέθοδο ως "Ενεργοποίηση".

Κώδικας:

Sub Workbook_Example1 () Βιβλία εργασίας ("Αρχείο 1.xlsx"). Ενεργοποίηση End Sub

Δεν έχει σημασία σε ποιο βιβλίο εργασίας βρίσκεστε. Θα ενεργοποιήσει το καθορισμένο βιβλίο εργασίας.

Μόλις επιλέξετε το βιβλίο εργασίας, γίνεται "Ενεργό βιβλίο εργασίας".

Παράδειγμα # 2 - Εισαγάγετε τιμές στο βιβλίο εργασίας

Όπως είπα μόλις επιλέξετε το βιβλίο εργασίας, γίνεται ένα ενεργό βιβλίο εργασίας. Χρησιμοποιώντας το Ενεργό βιβλίο εργασίας, μπορούμε να αναφέρουμε το κελί.

Στο ενεργό βιβλίο εργασίας, πρέπει να επιλέξουμε το φύλλο με το όνομά του, διαφορετικά χρησιμοποιούμε τη λέξη Active Sheet.

Στο ενεργό φύλλο εργασίας, πρέπει να επιλέξουμε το κελί χρησιμοποιώντας το αντικείμενο Range.

Κώδικας:

Sub Workbook_Example1 () Βιβλία εργασίας ("Αρχείο 1.xlsx"). Ενεργοποιήστε το ActiveWorkbook.ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Όταν εκτελείτε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα, θα εισαγάγει τη λέξη "Γεια" στο κελί A1 στο βιβλίο εργασίας "Αρχείο 1.xlsx".

We can also use the below code to do the same job.

Code:

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

This will also insert the word “Hello” to the workbook “File 1.xlsx.”

Example #3 - Assign Workbook to Variable

We can also assign the data type as a “workbook” to the declared variable. Declare the variable as Workbook.

Code:

Sub Workbook_Example2()

Dim WB As Workbook

End Sub

Now we need to set the object variable to the workbook name by using the word “Set.”

Code:

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

From now onwards, the variable “WB” holds the name of the workbook “File 1.xlsx”.

Using the variable name, we can insert the words.

Code:

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

Run this code manually or use shortcut key F5 and see the result, as shown in the below screenshot.

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

Here WB is referencing the workbook, in that workbook, we are referencing the worksheet Sheet1 by using the Worksheets object. In that worksheet cell, A1 is equal to the value of “Hello.”

We can also reference the workbook by index number as well. For example, look at the below code.

Code:

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:

Υπο Save_All_Workbooks () Dim WB ως Workbook For Every WB In Workbook WB. Αποθήκευση Επόμενο WB End Sub

Όταν εκτελείτε αυτόν τον κωδικό μέσω του πλήκτρου F5 ή χειροκίνητα, εμφανίζεται ένα αναδυόμενο παράθυρο, το οποίο ζητά να αποθηκεύσετε το βιβλίο εργασίας. Κάντε κλικ στο Ok για αποθήκευση.

Χρησιμοποιήστε τον παρακάτω κωδικό για να κλείσετε όλα τα βιβλία εργασίας εκτός από αυτό που εργάζεστε.

Κώδικας:

Sub Close_All_Workbooks () Dim WB As Workbook For Every WB In Workbook If WB.Name ThisWorkbook.Name Then WB.Close End if Next WB End Sub

Πριν από το κλείσιμο του βιβλίου εργασίας εμφανίζεται ένα αναδυόμενο παράθυρο.

ενδιαφέροντα άρθρα...