Delovni zvezek VBA - Primeri uporabe predmeta VBA v delovnem zvezku Excel

Delovni zvezek Excel VBA

VBA Workbook je predmet, ki je del zbirke predmetov Workbooks. Zlahka opazimo razliko v delu zbirke predmetov in samem predmetu, v množini beseda "Delovni zvezki" se nanaša na "Delovni zvezek". V VBA imamo še nekaj drugih predmetov, kot so Delovni listi, Celice in obsegi, Grafikoni in Oblike.

V platformi excel se datoteka excel imenuje »Delovni zvezek«, zlasti v VBA. Nikoli ga ne imenujemo datoteka; pravimo mu "Delovni zvezek".

S sklicevanjem na delovni zvezek lahko opravimo vse naloge, povezane z njim. Nekatere pomembne naloge so »Odpri delovni zvezek«, »Shrani delovni zvezek«, »Shrani kot delovni zvezek« in »Zapri delovni zvezek«. Odprte delovne zvezke lahko izberemo in aktiviramo.

Sintaksa

Zdaj pa poglejte, kakšna je skladnja delovnega zvezka.

Indeks ni nič drugega kot kateri delovni zvezek želite izbrati. Na delovni zvezek se lahko sklicujemo po številki delovnega zvezka ali po imenu delovnega zvezka.

Uporaba kode predmeta VBA WorkBook

Primer # 1

Na primer, zdaj imam dve datoteki odprti. Ime prvega delovnega zvezka je »Datoteka 1«, drugo pa »Datoteka 2«.

Zdaj pišem kodo v tretjo datoteko. Iz te datoteke želim aktivirati delovni zvezek z imenom »Datoteka 1«.

1. korak: Zaženite makro z ustvarjanjem podprocedure VBA.

Koda:

Sub Workbook_Example1 () Konec Sub

2. korak: Zdaj izberite predmet delovnega zvezka.

3. korak: Zdaj vnesite delovni zvezek, ki ga želimo aktivirati.

Koda:

Sub Workbook_Example1 () Delovni zvezki ("File 1 End Sub

4. korak: Po vnosu imena delovnega zvezka moramo vnesti tudi pripono datoteke. Ta delovni zvezek sem shranil kot običajni delovni zvezek, tj. Delovni zvezek “xlsx” .

Koda:

Sub Workbook_Example1 () Delovni zvezki ("Datoteka 1.xlsx") Konec Sub

5. korak: Zdaj se moramo odločiti, kaj želimo narediti s tem delovnim zvezkom. Vnesite piko, da si ogledate vse možnosti, ki so na voljo v tem delovnem zvezku.

6. korak: Zdaj moramo aktivirati delovni zvezek, izberite način kot »Aktiviraj«.

Koda:

Sub Workbook_Example1 () Delovni zvezki ("Datoteka 1.xlsx"). Aktivirajte End Sub

Ni pomembno, v katerem delovnem zvezku ste. Aktiviral bo navedeni delovni zvezek.

Takoj ko izberete delovni zvezek, postane »Aktivni delovni zvezek«.

2. primer - Vnesite vrednosti v delovni zvezek

Kot sem že povedal, takoj ko izberete delovni zvezek, postane aktivni delovni zvezek. Z aktivnim delovnim zvezkom se lahko sklicujemo na celico.

V aktivnem delovnem zvezku moramo list izbrati po imenu ali pa uporabimo besedo Active Sheet.

Na aktivnem delovnem listu moramo izbrati celico z uporabo predmeta Range.

Koda:

Sub Workbook_Example1 () Delovni zvezki ("Datoteka 1.xlsx"). Aktivirajte ActiveWorkbook.ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Ko zaženete to kodo s tipko F5 ali ročno, bo v celico A1 v delovni zvezek »Datoteka 1.xlsx« vstavila besedo »Hello «.

We can also use the below code to do the same job.

Code:

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

This will also insert the word “Hello” to the workbook “File 1.xlsx.”

Example #3 - Assign Workbook to Variable

We can also assign the data type as a “workbook” to the declared variable. Declare the variable as Workbook.

Code:

Sub Workbook_Example2()

Dim WB As Workbook

End Sub

Now we need to set the object variable to the workbook name by using the word “Set.”

Code:

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

From now onwards, the variable “WB” holds the name of the workbook “File 1.xlsx”.

Using the variable name, we can insert the words.

Code:

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 () Zatemni WB kot delovni zvezek za vsak WB v delovnih zvezkih WB.Save Next WB End Sub

Ko zaženete to kodo s tipko F5 ali ročno, se prikaže pojavno okno, ki zahteva, da shranite delovni zvezek. Kliknite V redu, da shranite.

Uporabite spodnjo kodo, da zaprete vse delovne zvezke, razen tistega, s katerim delate.

Koda:

Sub Close_All_Workbooks () Zatemni WB kot delovni zvezek za vsak WB v delovnih zvezkih Če WB.Name ThisWorkbook.Name Nato WB.Close End If Next WB End Sub

Preden zaprete delovni zvezek, se prikaže pojavno okno.

Zanimive Članki...