VBA-työkirja - Esimerkkejä Excel VBA -työkirjaobjektin käytöstä

Sisällysluettelo

Excel VBA -työkirja

VBA-työkirja on objekti, joka on osa työkirjojen objektikokoelmaa. Havaitsemme helposti eron osan objektikokoelmasta ja itse esineestä, monikkosana "Workbooks" viittaa siihen, että sillä on monia "Workbook". VBA: ssa meillä on useita muita esineitä, kuten laskentataulukot, solut ja alueet, kaaviot ja muodot.

Excel-alustassa Excel-tiedostoa kutsutaan nimellä "työkirja", erityisesti VBA: ssa. Emme koskaan kutsu sitä tiedostoksi; pikemminkin kutsumme sitä "työkirjaksi".

Viittaamalla työkirjaan voimme tehdä kaikki siihen liittyvät tehtävät. Jotkut tärkeistä tehtävistä ovat ”Avoin työkirja”, “Tallenna työkirja”, “Tallenna nimellä työkirja” ja ”Sulje työkirja”. Voimme valita, aktivoida avatut työkirjat.

Syntaksi

Katsokaa nyt, mikä on työkirjan syntaksi.

Hakemisto ei ole muuta kuin mitä työkirja haluat valita. Voimme viitata työkirjaan työkirjan numeron tai työkirjan nimen mukaan.

VBA-työkirjan objektikoodin käyttö

Esimerkki 1

Minulla on esimerkiksi kaksi tiedostoa auki juuri nyt. Ensimmäinen työkirjan nimi on "tiedosto 1" ja toinen työkirjan nimi "tiedosto 2".

Kirjoitan nyt koodin kolmanteen tiedostoon. Tästä tiedostosta haluan aktivoida "Tiedosto 1" -nimisen työkirjan.

Vaihe 1: Käynnistä makro luomalla VBA-alimenettely.

Koodi:

Alityökirja_esimerkki1 () Lopeta ali

Vaihe 2: Valitse nyt työkirjaobjekti.

Vaihe 3: Kirjoita nyt aktivoitava työkirja.

Koodi:

Alityökirja_esimerkki1 () Työkirjat ("Tiedosto 1 Lopeta ali

Vaihe 4: Työkirjan nimen syöttämisen jälkeen meidän on annettava myös tiedostopääte. Olen tallentanut tämän työkirjan tavalliseksi työkirjaksi, ts. ”Xlsx” -työkirjaksi.

Koodi:

Alityökirja_esimerkki1 () Työkirjat ("Tiedosto 1.xlsx") Lopeta ali

Vaihe 5: Nyt meidän on päätettävä, mitä haluamme tehdä tällä työkirjalla. Syötä piste nähdäksesi kaikki tämän työkirjan käytettävissä olevat vaihtoehdot.

Vaihe 6: Meidän on nyt aktivoitava työkirja, valittava menetelmä Aktivoi.

Koodi:

Alityökirja_esimerkki1 () Työkirjat ("File 1.xlsx"). Aktivoi End Sub

Ei ole väliä missä työkirjassa olet. Se aktivoi määritetyn työkirjan.

Heti kun valitset työkirjan, siitä tulee "Aktiivinen työkirja".

Esimerkki # 2 - Anna arvot työkirjaan

Kuten sanoin heti kun valitset työkirjan, siitä tulee aktiivinen työkirja. Aktiivisen työkirjan avulla voimme viitata soluun.

Aktiivisessa työkirjassa meidän on valittava taulukko sen nimen mukaan, tai muuten käytämme sanaa Active Sheet.

Aktiivisessa laskentataulukossa meidän on valittava solu Range-objektin avulla.

Koodi:

Alityökirja_esimerkki1 () Työkirjat ("Tiedosto 1.xlsx"). Aktivoi ActiveWorkbook.ActiveSheet.Range ("A1"). Arvo = "Hei" End Sub

Kun suoritat tämän koodin F5-näppäimellä tai manuaalisesti, se lisää sanan "Hello" työkirjan "File 1.xlsx" soluun A1 .

Voimme käyttää alla olevaa koodia myös saman työn tekemiseen.

Koodi:

Alityökirja_esimerkki1 () Työkirjat ("Tiedosto 1.xlsx"). ActiveSheet.Range ("A1"). Arvo = "Hei" End Sub

Tämä lisää myös sanan "Hei" työkirjaan "File 1.xlsx".

Esimerkki # 3 - Määritä työkirja muuttujaan

Voimme myös määrittää tietotyypin "työkirjana" ilmoitettuun muuttujaan. Ilmoita muuttuja työkirjaksi.

Koodi:

Alityökirja_esimerkki2 ()

Dim WB työkirjana

End Sub

Nyt meidän on asetettava objektimuuttuja työkirjan nimeksi sanalla "Aseta".

Koodi:

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

Tästä lähtien muuttuja "WB" pitää sisällään työkirjan "File 1.xlsx" nimen.

Muuttujan nimen avulla voimme lisätä sanat.

Koodi:

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 () Himmennä WB työkirjana jokaiselle työkirjojen WB: lle.Tallenna seuraava WB End Sub

Kun suoritat tämän koodin F5-avaimen kautta tai manuaalisesti, tulee ponnahdusikkuna, joka pyytää tallentamaan työkirjan. Napsauta OK tallentaaksesi.

Sulje kaikki työkirjat lukuun ottamatta alla olevaa koodia.

Koodi:

Sub Close_All_Workbooks () himmentää WB työkirjana jokaiselle työkirjojen WB: lle, jos WB.Nimi ThisWorkbook.Name Sitten WB.Sulje loppu, jos seuraava WB End

Ponnahdusikkuna tulee näkyviin ennen työkirjan sulkemista.

Mielenkiintoisia artikkeleita...