VBA-projektmappe - Eksempler til brug af Excel VBA Workbook-objekt

Indholdsfortegnelse

Excel VBA-projektmappe

VBA Workbook er et objekt, der er en del af Workbooks-objektsamlingen. Vi ser let forskellen på en del af objektsamlingen og selve objektet, flertalsord af "Arbejdsbøger" henviser til at det har mange "Arbejdsbog". I VBA har vi flere andre objekter som regneark, celler og områder, diagrammer og figurer.

I Excel-platformen kaldes Excel-filen som "Arbejdsbog", især i VBA. Vi kalder det aldrig en fil; snarere kalder vi det en "projektmappe".

Ved at henvise til projektmappen kan vi udføre alle de opgaver, der er relateret til den. Nogle af de vigtige opgaver er "Åbn projektmappe", "Gem projektmappe", "Gem som projektmappe" og "Luk projektmappe." Vi kan vælge, aktivere de projektmapper, der åbnes.

Syntaks

Se nu på, hvad der er syntaksen for projektmappen.

Et indeks er kun den projektmappe, du vil vælge. Vi kan henvise til projektmappen ved hjælp af projektmappenummer eller med projektmappens navn.

Brug af VBA WorkBook Object Code

Eksempel nr. 1

For eksempel har jeg to filer åbne lige nu. Det første projektbogsnavn er “File 1” og det andet workbook-navn er “File 2”.

Nu skriver jeg koden i den tredje fil. Fra denne fil vil jeg aktivere projektmappen, der hedder "File 1".

Trin 1: Start makroen ved at oprette en VBA-underprocedure.

Kode:

Sub Workbook_Example1 () Afslut sub

Trin 2: Vælg nu projektmappegenstanden.

Trin 3: Indtast nu den projektmappe, som vi vil aktivere.

Kode:

Sub Workbook_Example1 () Workbooks ("File 1 End Sub

Trin 4: Efter at have indtastet projektmappens navn, skal vi også indtaste filtypen. Jeg har gemt denne projektmappe som en almindelig projektmappe, dvs. “xlsx” projektmappe.

Kode:

Underarbejdsbog_eksempel1 () projektmapper ("Fil 1.xlsx") Afslut sub

Trin 5: Nu skal vi beslutte, hvad vi vil gøre med denne projektmappe. Indtast prik for at se alle de muligheder, der er tilgængelige med denne projektmappe.

Trin 6: Nu skal vi aktivere projektmappen, vælge metoden som "Aktivér."

Kode:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). Aktivér End Sub

Det betyder ikke noget, hvilken projektmappe du er i. Den aktiverer den angivne projektmappe.

Så snart du vælger projektmappen, bliver den en "Aktiv projektmappe."

Eksempel # 2 - Indtast værdier i projektmappen

Som jeg fortalte, så snart du vælger projektmappen, bliver den en aktiv projektmappe. Ved hjælp af Active Workbook kan vi henvise til cellen.

I den aktive projektmappe skal vi vælge arket efter dets navn, ellers bruger vi ordet Aktivt ark.

I det aktive regneark skal vi vælge cellen ved hjælp af Range-objektet.

Kode:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). Aktiver ActiveWorkbook.ActiveSheet.Range ("A1"). Værdi = "Hej" Afslut sub

Når du kører denne kode ved hjælp af F5-tasten eller manuelt, indsætter den ordet "Hej" i cellen A1 i projektmappen "File 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:

Under Save_All_Workbooks () Dim WB som projektmappe for hver WB i Workbooks WB. Gem næste WB End Sub

Når du kører denne kode gennem F5-tasten eller manuelt, kommer der en popup, der beder om at gemme projektmappen. Klik på Ok for at gemme.

Brug nedenstående kode til at lukke alle projektmapper undtagen den, du arbejder på.

Kode:

Sub Close_All_Workbooks () Dim WB som projektmappe for hver WB i Workbooks Hvis WB.Name ThisWorkbook.Name Derefter WB.Close End, hvis næste WB End Sub

Et pop op-vindue kommer inden lukning af projektmappen.

Interessante artikler...