VBA-Arbeitsmappe - Beispiele für die Verwendung von Excel VBA Workbook Object

Inhaltsverzeichnis

Excel VBA-Arbeitsmappe

VBA Workbook ist ein Objekt, das Teil der Workbooks-Objektsammlung ist. Wir sehen leicht den Unterschied zwischen einem Teil der Objektsammlung und dem Objekt selbst. Das Pluralwort „Arbeitsmappen“ bezieht sich auf viele „Arbeitsmappen“. In VBA gibt es mehrere andere Objekte wie Arbeitsblätter, Zellen und Bereiche, Diagramme und Formen.

In der Excel-Plattform wird die Excel-Datei als "Arbeitsmappe" bezeichnet, insbesondere in VBA. Wir nennen es nie eine Datei; Wir nennen es eher ein "Arbeitsbuch".

Durch Bezugnahme auf die Arbeitsmappe können wir alle damit verbundenen Aufgaben ausführen. Einige der wichtigen Aufgaben sind "Arbeitsmappe öffnen", "Arbeitsmappe speichern", "Als Arbeitsmappe speichern" und "Arbeitsmappe schließen". Wir können die geöffneten Arbeitsmappen auswählen und aktivieren.

Syntax

Schauen Sie sich nun die Syntax der Arbeitsmappe an.

Ein Index ist nichts anderes als die Arbeitsmappe, die Sie auswählen möchten. Wir können auf die Arbeitsmappe anhand der Arbeitsmappennummer oder des Arbeitsmappennamens verweisen.

Verwendung des VBA WorkBook-Objektcodes

Beispiel 1

Zum Beispiel habe ich gerade zwei Dateien geöffnet. Der erste Arbeitsmappenname lautet "Datei 1" und der zweite Arbeitsmappenname lautet "Datei 2".

Jetzt schreibe ich den Code in die dritte Datei. Aus dieser Datei möchte ich die Arbeitsmappe mit dem Namen "Datei 1" aktivieren.

Schritt 1: Starten Sie das Makro, indem Sie eine VBA-Unterprozedur erstellen.

Code:

Sub Workbook_Example1 () End Sub

Schritt 2: Wählen Sie nun das Arbeitsmappenobjekt aus.

Schritt 3: Geben Sie nun die Arbeitsmappe ein, die Sie aktivieren möchten.

Code:

Sub Workbook_Example1 () Workbooks ("Datei 1 End Sub

Schritt 4: Nach Eingabe des Arbeitsmappennamens müssen wir auch die Dateierweiterung eingeben. Ich habe diese Arbeitsmappe als reguläre Arbeitsmappe gespeichert, dh als "xlsx" -Arbeitsmappe .

Code:

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

Schritt 5: Nun müssen wir entscheiden, was wir mit dieser Arbeitsmappe machen wollen. Geben Sie dot ein, um alle in dieser Arbeitsmappe verfügbaren Optionen anzuzeigen.

Schritt 6: Jetzt müssen wir die Arbeitsmappe aktivieren und die Methode als "Aktivieren" auswählen.

Code:

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

Es spielt keine Rolle, in welcher Arbeitsmappe Sie sich befinden. Die angegebene Arbeitsmappe wird aktiviert.

Sobald Sie die Arbeitsmappe auswählen, wird sie zu einer "aktiven Arbeitsmappe".

Beispiel 2 - Geben Sie Werte in die Arbeitsmappe ein

Wie ich bereits sagte, wird die Arbeitsmappe, sobald Sie sie auswählen, zu einer aktiven Arbeitsmappe. Mit Active Workbook können wir auf die Zelle verweisen.

In der aktiven Arbeitsmappe müssen wir das Blatt anhand seines Namens auswählen, oder wir verwenden das Wort Aktives Blatt.

Im aktiven Arbeitsblatt müssen wir die Zelle mithilfe des Range-Objekts auswählen.

Code:

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

Wenn Sie diesen Code mit der Taste F5 oder manuell ausführen, wird das Wort "Hallo" in die Zelle A1 in der Arbeitsmappe "Datei 1.xlsx" eingefügt.

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:

Sub Save_All_Workbooks () Dim WB als Arbeitsmappe für jede WB in Arbeitsmappen WB.Save Next WB End Sub

Wenn Sie diesen Code über die Taste F5 oder manuell ausführen, wird ein Popup angezeigt, in dem Sie aufgefordert werden, die Arbeitsmappe zu speichern. Klicken Sie zum Speichern auf OK.

Verwenden Sie den folgenden Code, um alle Arbeitsmappen außer der zu schließen, an der Sie arbeiten.

Code:

Sub Close_All_Workbooks () Dim WB als Arbeitsmappe für jede WB in Arbeitsmappen Wenn WB.Name ThisWorkbook.Name Dann WB.Close End If Next WB End Sub

Vor dem Schließen der Arbeitsmappe wird ein Popup-Fenster angezeigt.

Interessante Beiträge...