Sešit VBA - Příklady použití objektu sešitu Excel VBA

Sešit Excel VBA

Sešit VBA je objekt, který je součástí kolekce objektů Workbooks. Snadno vidíme rozdíl mezi částí kolekce objektů a samotným objektem, množné slovo „Workbooks“ odkazuje, že má mnoho „Workbook“. Ve VBA máme několik dalších objektů, jako jsou pracovní listy, buňky a rozsahy, grafy a tvary.

Na platformě Excel je soubor aplikace Excel označován jako „Sešit“, zejména ve VBA. Nikdy jej nenazýváme souborem; spíše tomu říkáme „sešit“.

Odkázáním na sešit můžeme provádět všechny související úkoly. Mezi důležité úkoly patří „Otevřít sešit“, „Uložit sešit“, „Uložit jako sešit“ a „Zavřít sešit“. Můžeme vybrat, aktivovat sešity, které jsou otevřené.

Syntax

Nyní se podívejte, jaká je syntaxe sešitu.

Index není nic jiného než sešit, který chcete vybrat. Na sešit můžeme odkazovat podle čísla sešitu nebo podle názvu sešitu.

Použití objektového kódu VBA WorkBook

Příklad č. 1

Například mám právě otevřené dva soubory. První název sešitu je „Soubor 1“ a druhý název sešitu je „Soubor 2“.

Nyní píšu kód do třetího souboru. Z tohoto souboru chci aktivovat sešit s názvem „Soubor 1“.

Krok 1: Spusťte makro vytvořením podprocesu VBA.

Kód:

Sub Workbook_Example1 () End Sub

Krok 2: Nyní vyberte objekt sešitu.

Krok 3: Nyní zadejte sešit, který chceme aktivovat.

Kód:

Sub Workbook_Example1 () Workbooks ("File 1 End Sub

Krok 4: Po zadání názvu sešitu musíme zadat také příponu souboru. Tento sešit jsem uložil jako běžný sešit, tj. Sešit „xlsx“ .

Kód:

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

Krok 5: Nyní se musíme rozhodnout, co chceme s tímto sešitem dělat. Zadejte tečku a zobrazte všechny možnosti dostupné v tomto sešitu.

Krok 6: Nyní musíme sešit aktivovat, vyberte metodu jako „Aktivovat“.

Kód:

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

Nezáleží na tom, ve kterém sešitu se nacházíte. Aktivuje zadaný sešit.

Jakmile sešit vyberete, stane se z něj „Aktivní sešit“.

Příklad č. 2 - Zadejte hodnoty do sešitu

Jak jsem řekl, jakmile sešit vyberete, stane se z něj aktivní sešit. Pomocí aktivního sešitu můžeme odkazovat na buňku.

V aktivním sešitu musíme list vybrat podle názvu, jinak použijeme slovo Aktivní list.

V aktivním listu musíme vybrat buňku pomocí objektu Rozsah.

Kód:

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

Když tento kód spustíte pomocí klávesy F5 nebo ručně, vloží slovo „Hello“ do buňky A1 v sešitu „File 1.xlsx“.

K provedení stejné práce můžeme také použít níže uvedený kód.

Kód:

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

Tím se do sešitu „Soubor 1.xlsx“ vloží také slovo „Dobrý den“.

Příklad č. 3 - Přiřazení sešitu proměnné

K deklarované proměnné můžeme také přiřadit datový typ jako „sešit“. Deklarujte proměnnou jako sešit.

Kód:

Dílčí sešit_Příklad2 ()

Dim WB As Workbook

End Sub

Nyní musíme nastavit proměnnou objektu na název sešitu pomocí slova „Nastavit“.

Kód:

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

Od této chvíle bude proměnná „WB“ obsahovat název sešitu „Soubor 1.xlsx“.

Pomocí názvu proměnné můžeme vložit slova.

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

Když spustíte tento kód pomocí klávesy F5 nebo ručně, přijde vyskakovací okno, které vás požádá o uložení sešitu. Uložte kliknutím na OK.

Pomocí níže uvedeného kódu zavřete všechny sešity kromě toho, na kterém 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

Před zavřením sešitu se zobrazí vyskakovací okno.

Zajímavé články...