VBA darbaknygė - „Excel VBA Workbook Object“ naudojimo pavyzdžiai

„Excel VBA“ darbaknygė

„VBA Workbook“ yra objektas, kuris yra „Workbooks“ objektų kolekcijos dalis. Mes lengvai matome daiktų kolekcijos dalies ir paties objekto skirtumą, daugiskaitos žodis „Darbaknygės“ nurodo, kad jame yra daug „Darbaknygės“. VBA turime keletą kitų objektų, tokių kaip darbalapiai, langeliai ir diapazonai, diagramos ir formos.

„Excel“ platformoje „Excel“ failas vadinamas „darbaknyge“, ypač VBA. Mes niekada to nevadiname byla; veikiau vadiname „darbaknygė“.

Remdamiesi darbo knyga, mes galime atlikti visas su ja susijusias užduotis. Kai kurios svarbios užduotys yra „Atidaryti darbaknygę“, „Įrašyti darbaknygę“, „Išsaugoti kaip darbaknygę“ ir „Uždaryti darbaknygę“. Mes galime pasirinkti, suaktyvinti atidarytas darbo knygas.

Sintaksė

Dabar pažiūrėkite, kokia yra darbaknygės sintaksė.

Indeksas yra ne kas kita, o kurią darbaknygę norite pasirinkti. Darbaknygę galime nurodyti pagal darbaknygės numerį arba pagal darbaknygės pavadinimą.

VBA darbaknygės objekto kodo naudojimas

1 pavyzdys

Pavyzdžiui, dabar turiu atidarytus du failus. Pirmasis darbaknygės pavadinimas yra „Failas 1“, o antrasis - „Failas 2“.

Dabar rašau kodą trečiame faile. Iš šio failo noriu suaktyvinti darbaknygę, pavadintą „Failas 1“.

1 veiksmas: paleiskite makrokomandą, sukurdami VBA antrinę procedūrą.

Kodas:

Antrinė darbaknygė_pavyzdys1 () Pabaigos antrinė dalis

2 žingsnis: Dabar pasirinkite darbaknygės objektą.

3 žingsnis: Dabar įveskite darbaknygę, kurią norime suaktyvinti.

Kodas:

Antroji darbaknygė_pavyzdys1 () darbaknygės ("1 failo pabaigos antrasis

4 žingsnis: Įvedę darbaknygės pavadinimą, turime įvesti ir failo plėtinį. Aš išsaugojau šią darbaknygę kaip įprastą darbaknygę, ty „xlsx“ darbaknygę.

Kodas:

Darbaknygės_pavyzdys1 () darbaknygės („File 1.xlsx“) Pabaigos antrinis

5 žingsnis: Dabar turime nuspręsti, ką norime daryti su šia darbo knyga. Įveskite tašką, kad pamatytumėte visas šios darbaknygės galimybes.

6 žingsnis: Dabar turime suaktyvinti darbaknygę, pasirinkti metodą kaip „Aktyvinti“.

Kodas:

Antrinė darbaknygė_pavyzdys1 () darbaknygės („File 1.xlsx“). Suaktyvinkite „End Sub“

Nesvarbu, kurioje darbaknygėje esate. Tai suaktyvins nurodytą darbaknygę.

Kai tik pasirenkate darbaknygę, ji tampa „Aktyvia darbaknygė“.

2 pavyzdys - įveskite vertes darbaknygėje

Kaip sakiau, kai tik pasirenkate darbaknygę, ji tampa aktyvia darbaknygė. Naudodami „Active Workbook“, galime nurodyti langelį.

Aktyvioje darbaknygėje turime pasirinkti lapą pagal jo pavadinimą, kitaip mes naudojame žodį Aktyvus lapas.

Aktyviame darbalapyje turime pasirinkti langelį naudodami objektą Range.

Kodas:

Antroji darbaknygės_pavyzdys1 () darbaknygės („File 1.xlsx“). Aktyvuokite „ActiveWorkbook.ActiveSheet.Range“ („A1“). Reikšmė = „Sveiki“ Pabaiga

Kai paleidžiate šį kodą naudodami F5 klavišą arba rankiniu būdu, jis įterpia žodį „Labas“ į langelį A1 darbaknygėje „File 1.xlsx“.

Mes taip pat galime naudoti žemiau pateiktą kodą tam pačiam darbui atlikti.

Kodas:

Antroji darbaknygė_pavyzdys1 () darbaknygės („File 1.xlsx“). „ActiveSheet.Range“ („A1“). Reikšmė = „Sveiki“ Pabaiga Sub

Taip pat į darbaknygę „File 1.xlsx“ bus įterptas žodis „Labas“.

3 pavyzdys - priskirkite darbaknygę kintamajam

Deklaruotą kintamąjį taip pat galime priskirti duomenų tipą kaip „darbaknygę“. Paskelbkite kintamąjį kaip darbaknygę.

Kodas:

Antroji darbaknygė_pavyzdys2 ()

„Dim WB As Workbook“

Pabaigos sub

Dabar mes turime nustatyti objekto kintamąjį į darbaknygės pavadinimą, naudodami žodį „Nustatyti“.

Kodas:

Antroji darbaknygė_pavyzdys2 () Užmiršti WB kaip darbaknygės rinkinį WB = Darbaknygės ("File 1.xlsx") Pabaiga Sub

Nuo šiol kintamasis „WB“ turi darbaknygės pavadinimą „File 1.xlsx“.

Naudodami kintamojo pavadinimą, galime įterpti žodžius.

Kodas:

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 Workbook for Every WB Workbooks WB. Išsaugoti kitą WB End Sub

Kai paleidžiate šį kodą naudodami F5 klavišą arba rankiniu būdu, atsiranda iššokantis langas, kuriame prašoma išsaugoti darbaknygę. Spustelėkite Gerai, kad išsaugotumėte.

Naudokite žemiau pateiktą kodą, kad uždarytumėte visas darbo knygas, išskyrus tą, kurią dirbate.

Kodas:

Sub Close_All_Workbooks () Dim WB Workbook for Every WB Workbooks if WB. Pavadinkite šį darbo knygą. Pavadinimas tada WB. Uždarykite pabaigą, jei kitas WB pabaigos antrinis

Prieš uždarant darbaknygę atsiranda iššokantis langas.

Įdomios straipsniai...