VBA arbeidsbok - Eksempler på bruk av Excel VBA arbeidsbokobjekt

Innholdsfortegnelse

Excel VBA arbeidsbok

VBA Workbook er et objekt som er en del av Workbooks-objektsamlingen. Vi ser lett forskjellen på en del av objektsamlingen og selve objektet, flertallsordet "arbeidsbøker" refererer til at det har mange "arbeidsbøker". I VBA har vi flere andre objekter som regneark, celler og områder, diagrammer og former.

I Excel-plattformen kalles Excel-filen som "arbeidsbok", spesielt i VBA. Vi kaller det aldri en fil; heller kaller vi det en "arbeidsbok".

Ved å referere til arbeidsboken kan vi gjøre alle oppgavene knyttet til den. Noen av de viktige oppgavene er "Åpne arbeidsbok", "Lagre arbeidsbok", "Lagre som arbeidsbok" og "Lukk arbeidsbok." Vi kan velge, aktivere arbeidsbøkene som åpnes.

Syntaks

Nå, se på hva som er syntaksen til arbeidsboken.

En indeks er bare hvilken arbeidsbok du vil velge. Vi kan referere til arbeidsboken etter arbeidsboknummer eller etter arbeidsboknavn.

Bruk av VBA WorkBook Object Code

Eksempel 1

For eksempel har jeg to filer åpne akkurat nå. Det første arbeidsboknavnet er “Fil 1” og det andre arbeidsboknavnet er “Fil 2”.

Nå skriver jeg koden i den tredje filen. Fra denne filen vil jeg aktivere arbeidsboken kalt "File 1".

Trinn 1: Start makroen ved å lage en VBA-delprosedyre.

Kode:

Underarbeidsbok_eksempel1 () Avslut sub

Trinn 2: Velg nå arbeidsbokobjektet.

Trinn 3: Skriv inn arbeidsboken som vi vil aktivere.

Kode:

Sub Workbook_Example1 () Workbooks ("File 1 End Sub

Trinn 4: Etter å ha skrevet inn arbeidsboknavnet, må vi også legge inn filtypen. Jeg har lagret denne arbeidsboken som en vanlig arbeidsbok, dvs. “xlsx” arbeidsbok.

Kode:

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

Trinn 5: Nå må vi bestemme hva vi vil gjøre med denne arbeidsboken. Skriv inn prikk for å se alle alternativene som er tilgjengelige med denne arbeidsboken.

Trinn 6: Nå må vi aktivere arbeidsboken, velge metoden som "Aktiver."

Kode:

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

Det spiller ingen rolle hvilken arbeidsbok du er i. Den aktiverer den angitte arbeidsboken.

Så snart du velger arbeidsboken, blir den en "Aktiv arbeidsbok".

Eksempel 2 - Angi verdier i arbeidsboken

Som jeg sa så snart du valgte arbeidsboken, blir den en aktiv arbeidsbok. Ved hjelp av Active Workbook kan vi referere til cellen.

I den aktive arbeidsboken må vi velge arket etter navn, ellers bruker vi ordet Active Sheet.

I det aktive regnearket må vi velge cellen ved å bruke Range-objektet.

Kode:

Underarbeidsbok_eksempel1 () arbeidsbøker ("Fil 1.xlsx"). Aktiver ActiveWorkbook.ActiveSheet.Range ("A1"). Verdi = "Hei" Avslutter

Når du kjører denne koden ved hjelp av F5-tasten eller manuelt, vil den sette inn ordet "Hello" i cellen A1 i arbeidsboken "File 1.xlsx".

Vi kan også bruke koden nedenfor for å gjøre den samme jobben.

Kode:

Underarbeidsbok_eksempel1 () arbeidsbøker ("Fil 1.xlsx"). ActiveSheet.Range ("A1"). Verdi = "Hei" Avslutter

Dette vil også sette inn ordet "Hello" i arbeidsboken "File 1.xlsx."

Eksempel 3 - Tilordne arbeidsbok til variabel

Vi kan også tilordne datatypen som en "arbeidsbok" til den deklarerte variabelen. Deklarer variabelen som arbeidsbok.

Kode:

Underarbeidsbok_eksempel2 ()

Dim WB som arbeidsbok

Slutt Sub

Nå må vi sette objektvariabelen til arbeidsboknavnet ved å bruke ordet "Sett".

Kode:

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

Fra nå av har variabelen "WB" navnet på arbeidsboken "File 1.xlsx".

Ved å bruke variabelnavnet kan vi sette inn ordene.

Kode:

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 som arbeidsbok for hver WB i arbeidsbøker WB. Lagre neste WB End Sub

Når du kjører denne koden gjennom F5-tasten eller manuelt, kommer en popup som ber om å lagre arbeidsboken. Klikk på Ok for å lagre.

Bruk koden nedenfor for å lukke alle arbeidsbøker bortsett fra den du jobber med.

Kode:

Sub Close_All_Workbooks () Dim WB Som arbeidsbok for hver WB i arbeidsbøker Hvis WB.Name ThisWorkbook.Name Så WB.Lukk End hvis neste WB End Sub

Et popup-vindu kommer før du lukker arbeidsboken.

Interessante artikler...