VBA töövihik - Näited Exceli VBA töövihiku objekti kasutamiseks

Lang L: none (table-of-contents)

Exceli VBA töövihik

VBA töövihik on objekt, mis on osa töövihikute objektikogust. Me näeme hõlpsasti objekti kogumise osa ja objekti enda erinevust, mitmuse sõnaga „töövihikud” viidatakse sellele, et sellel on palju „töövihikuid”. VBA-s on meil mitmeid muid objekte, näiteks töölehed, lahtrid ja vahemikud, diagrammid ja kujundid.

Exceli platvormil nimetatakse Exceli faili töövihikuks, eriti VBA-s. Me ei nimeta seda kunagi failiks; pigem nimetame seda “töövihikuks”.

Töövihikule viidates saame teha kõik sellega seotud ülesanded. Mõned olulised ülesanded on „Avatud töövihik”, „Salvesta töövihik”, „Salvesta töövihikuna” ja „Sule töövihik”. Saame valida, aktiveerida avatud töövihikud.

Süntaks

Nüüd vaadake, milline on töövihiku süntaks.

Indeks pole midagi muud kui see, millise töövihiku soovite valida. Töövihikule saame viidata töövihiku numbri või töövihiku nime järgi.

VBA töövihiku objektikoodi kasutamine

Näide 1

Näiteks mul on praegu kaks faili avatud. Esimene töövihiku nimi on “Fail 1” ja teine ​​töövihiku nimi on “Fail 2”.

Nüüd kirjutan koodi kolmandasse faili. Sellest failist soovin aktiveerida töövihiku nimega “Fail 1”.

1. samm: käivitage makro, luues VBA alamprotseduuri.

Kood:

Alam töövihik_näide1 () Lõpeta alam

2. samm: valige nüüd töövihiku objekt.

3. samm: sisestage nüüd töövihik, mille soovime aktiveerida.

Kood:

Alam töövihik_näide1 () töövihikud ("Fail 1 Lõpeta alam

4. samm: pärast töövihiku nime sisestamist peame sisestama ka faililaiendi. Olen selle töövihiku salvestanud tavalise töövihikuna, st “xlsx” töövihikuna.

Kood:

Alam töövihik_näide1 () töövihikud ("Fail 1.xlsx") Lõpp alam

5. samm: nüüd peame otsustama, mida me selle töövihikuga teha tahame. Selle töövihiku kõigi saadaolevate valikute nägemiseks sisestage punkt.

6. samm: nüüd peame töövihiku aktiveerima, valige meetodiks Aktiveeri.

Kood:

Alam töövihik_näide1 () töövihikud ("Fail 1.xlsx"). Aktiveerige lõpp-alam

Pole tähtis, millises töövihikus olete. See aktiveerib määratud töövihiku.

Niipea kui valite töövihiku, saab sellest „Aktiivne töövihik”.

Näide # 2 - sisestage töövihikusse väärtused

Nagu ma ütlesin kohe, kui valite töövihiku, saab sellest aktiivne töövihik. Aktiivse töövihiku abil saame lahtrile viidata.

Aktiivses töövihikus peame valima lehe selle nime järgi, muidu kasutame sõna Active Sheet.

Aktiivses töölehel peame lahtri valima objekti Range abil.

Kood:

Alam töövihik_näide1 () töövihikud ("Fail 1.xlsx"). Aktiveerige ActiveWorkbook.ActiveSheet.Range ("A1"). Väärtus = "Tere" Lõpp alam

Kui käivitate selle koodi klahviga F5 või käsitsi, lisab see töövihiku "File 1.xlsx" lahtrisse A1 sõna "Tere ".

Sama töö tegemiseks võime kasutada ka allolevat koodi.

Kood:

Alam töövihik_näide1 () töövihikud ("Fail 1.xlsx"). ActiveSheet.Range ("A1"). Väärtus = "Tere" Lõpp alam

See lisab ka tööraamatusse „File 1.xlsx” sõna „Tere”.

Näide # 3 - Töövihiku määramine muutujale

Samuti võime deklareeritud muutujale määrata andmetüübi „töövihikuna“. Deklareerige muutuja töövihikuks.

Kood:

Alam töövihik_näide2 ()

Hämar WB töövihikuna

Lõpeta alam

Nüüd peame objekti muutujale määrama töövihiku nime, kasutades sõna „Set”.

Kood:

Alam töövihik_näide2 () Dim WB töövihikuna Set WB = töövihikud ("File 1.xlsx") Lõpp alam

Nüüdsest kannab muutuja “WB” töövihiku nime “File 1.xlsx”.

Muutuja nime abil saame sisestada sõnad.

Kood:

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. Salvestage järgmine WB End Sub

Kui käivitate selle koodi klahvi F5 kaudu või käsitsi, tuleb hüpikaken, mis palub töövihiku salvestada. Klõpsake salvestamiseks OK.

Kasutage allolevat koodi, et sulgeda kõik töövihikud, välja arvatud need, millega töötate.

Kood:

Sub Close_All_Workbooks () Hämardage WB töövihikuna töövihikute iga WB jaoks, kui WB. Nimetage see töövihik. Nimi Siis WB. Sulgege lõpp, kui järgmine WB End Sub

Enne töövihiku sulgemist tuleb hüpikaken.

Huvitavad Artiklid...