Zošit VBA - Príklady použitia objektu zošita Excel VBA

Zošit Excel VBA

Zošit VBA je objekt, ktorý je súčasťou kolekcie objektov Workbooks. Ľahko vidíme rozdiel v časti zbierky objektov a v objekte samotnom, množné slovo „Workbooks“ znamená, že má veľa „Workbook“. Vo VBA máme niekoľko ďalších objektov, ako sú pracovné listy, bunky a rozsahy, grafy a tvary.

Na platforme Excel sa súbor programu Excel nazýva „Pracovný zošit“, najmä vo VBA. Nikdy to nenazývame spisom; skôr tomu hovoríme „zošit“.

Odkázaním na zošit môžeme robiť všetky úlohy s ním spojené. Niektoré z dôležitých úloh sú „Otvoriť zošit“, „Uložiť zošit“, „Uložiť ako zošit“ a „Zavrieť zošit“. Môžeme vybrať, aktivovať zošity, ktoré sú otvorené.

Syntax

Teraz sa pozrite na to, čo je syntax zošita.

Register nie je nič iné ako to, ktorý zošit chcete vybrať. Na zošit môžeme odkazovať podľa čísla zošita alebo podľa názvu zošita.

Používanie objektového kódu pracovného zošita VBA

Príklad č

Napríklad mám teraz otvorené dva súbory. Prvý názov zošita je „Súbor 1“ a druhý názov zošita je „Súbor 2“.

Teraz píšem kód do tretieho súboru. Z tohto súboru chcem aktivovať zošit s názvom „Súbor 1“.

Krok 1: Spustite makro vytvorením podprocesu VBA.

Kód:

Sub Workbook_Example1 () End Sub

Krok 2: Teraz vyberte objekt zošita.

Krok 3: Teraz zadajte zošit, ktorý chceme aktivovať.

Kód:

Sub Workbook_Example1 () Workbooks ("File 1 End Sub

Krok 4: Po zadaní názvu zošita musíme zadať aj príponu súboru. Tento zošit som uložil ako bežný zošit, tj. Zošit „xlsx“ .

Kód:

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

Krok 5: Teraz sa musíme rozhodnúť, čo chceme s týmto zošitom robiť. Zadaním bodky zobrazíte všetky možnosti dostupné v tomto zošite.

Krok 6: Teraz musíme zošit aktivovať, vyberte metódu ako „Aktivovať“.

Kód:

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

Nezáleží na tom, v ktorom zošite sa nachádzate. Aktivuje uvedený zošit.

Hneď ako zošit vyberiete, stane sa z neho „Aktívny zošit“.

Príklad č. 2 - Zadajte hodnoty do zošita

Ako som povedal, hneď ako vyberiete zošit, stane sa z neho aktívny zošit. Pomocou aktívneho zošita môžeme bunku odkázať.

V aktívnom zošite musíme vybrať hárok podľa názvu, inak použijeme slovo Aktívny hárok.

V aktívnom pracovnom hárku musíme vybrať bunku pomocou objektu Rozsah.

Kód:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). Activate ActiveWorkbook.ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Keď tento kód spustíte pomocou klávesu F5 alebo manuálne, vloží sa do bunky A1 v zošite „Súbor 1.xlsx“ slovo „Hello “.

Na vykonanie rovnakej úlohy môžeme použiť aj nasledujúci kód.

Kód:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Týmto sa do zošita „Súbor 1.xlsx“ vloží slovo „Hello“.

Príklad č. 3 - Priradenie zošita k premennej

K deklarovanej premennej môžeme tiež priradiť dátový typ ako „zošit“. Deklarujte premennú ako zošit.

Kód:

Sub Workbook_Example2 ()

Dim WB As Workbook

Koniec Sub

Teraz musíme nastaviť premennú objektu na názov zošita pomocou slova „Nastaviť“.

Kód:

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

Odteraz bude premenná „WB“ obsahovať názov zošita „Súbor 1.xlsx“.

Pomocou názvu premennej môžeme vložiť slová.

Kód:

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 as Workbook For each WB In Workbooks WB. Save Next WB End Sub

Keď tento kód spustíte pomocou klávesu F5 alebo manuálne, objaví sa kontextové okno, ktoré vás požiada o uloženie zošita. Kliknutím na tlačidlo Ok uložte.

Pomocou nasledujúceho kódu zavrite všetky zošity okrem toho, na ktorom pracujete.

Kód:

Sub Close_All_Workbooks () Dim WB As Workbook For each WB In Workbooks If WB.Name ThisWorkbook.Name Then WB.Close End If Next WB End Sub

Pred zatvorením zošita sa zobrazí vyskakovacie okno.

Zaujímavé články...