VBA munkafüzet - Példák az Excel VBA munkafüzetobjektum használatára

Tartalomjegyzék

Excel VBA munkafüzet

A VBA munkafüzet a munkafüzetek objektum-gyűjtemény része. Könnyen beláthatjuk a tárgygyűjtés egy részének és a tárgynak a különbségét, a „Munkafüzetek” többes szó arra utal, hogy sok „Munkafüzet” van. A VBA-ban számos más objektumunk van, például munkalapok, cellák és tartományok, diagramok és alakzatok.

Az excel platformon az excel fájlt munkafüzetnek hívják, különösen a VBA-ban. Soha nem hívjuk fájlnak; inkább munkafüzetnek hívjuk .

A munkafüzetre hivatkozva megtehetjük az összes kapcsolódó feladatot. Néhány fontos feladat a „Nyitott munkafüzet”, „Munkafüzet mentése”, „Mentés munkafüzetként” és a „Munkafüzet bezárása”. Kiválaszthatjuk, aktiválhatjuk a megnyitott munkafüzeteket.

Szintaxis

Most nézze meg, mi a munkafüzet szintaxisa.

Az index nem más, mint hogy melyik munkafüzetet kívánja kiválasztani. A munkafüzetre hivatkozhatunk munkafüzet száma vagy munkafüzet neve szerint.

A VBA WorkBook Object Code használata

1. példa

Például két fájlom van jelenleg nyitva. Az első munkafüzet neve „File 1”, a második munkafüzet neve pedig a „File 2”.

Most a harmadik fájlba írom a kódot. Ebből a fájlból szeretném aktiválni az “1. fájl” nevű munkafüzetet.

1. lépés: Indítsa el a makrót VBA-alfolyamat létrehozásával.

Kód:

Al munkafüzet_Példa1 () Vége al

2. lépés: Most válassza ki a munkafüzet objektumot.

3. lépés: Most írja be az aktiválni kívánt munkafüzetet.

Kód:

Almas munkafüzet_Példa1 () Munkafüzetek ("1. fájl vége

4. lépés: A munkafüzet nevének megadása után meg kell adnunk a fájlkiterjesztést is. Ezt a munkafüzetet normál munkafüzetként, azaz „xlsx” munkafüzetként mentettem .

Kód:

Al munkafüzet_Példa1 () Munkakönyvek ("1.xlsx fájl") Vége al

5. lépés: Most el kell döntenünk, hogy mit akarunk kezdeni ezzel a munkafüzettel. Írja be a pontot a munkafüzet összes rendelkezésre álló lehetőségének megtekintéséhez.

6. lépés: Most aktiválnunk kell a munkafüzetet, és válassza az „Aktiválás” lehetőséget.

Kód:

Sub munkafüzet_Példa1 () Munkafüzetek ("File 1.xlsx"). Aktiválja a Sub Sub végét

Nem számít, melyik munkafüzetben van. Aktiválja a megadott munkafüzetet.

Amint kiválasztja a munkafüzetet, az „Aktív munkafüzet” lesz .

2. példa - Adjon meg értékeket a munkafüzetbe

Amint elmondtam, amint kiválasztotta a munkafüzetet, az aktív munkafüzetté válik. Az Active Workbook használatával hivatkozhatunk a cellára.

Az aktív munkafüzetben ki kell választanunk a lapot a neve alapján, különben az Aktív lap szót használjuk.

Az aktív munkalapon ki kell választanunk a cellát a Range objektum használatával.

Kód:

Munkakönyv_Example1 () munkafüzetek ("File 1.xlsx"). Aktiválja az ActiveWorkbook.ActiveSheet.Range ("A1") értéket. Érték = "Hello" End Sub

Amikor ezt a kódot az F5 billentyűvel vagy manuálisan futtatja, a „Hello” szót beilleszti a „File 1.xlsx” munkafüzet A1 cellájába.

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 () Dim WB Workbookként minden WB-hez Workbooks WB-ben. Mentse a következő WB End Sub-t

Amikor ezt a kódot az F5 billentyűvel vagy manuálisan futtatja, akkor megjelenik egy előugró ablak, amely a munkafüzet mentését kéri. Kattintson az OK gombra a mentéshez.

Az alábbi kód használatával zárjon be minden munkafüzetet, kivéve azt, amelyen dolgozik.

Kód:

Sub Close_All_Workbooks () Dim WB mint munkafüzet minden munkafüzetben, ha WB.Név Ez a munkafüzet.Név, majd WB. Bezárás Vége, ha következő WB Vége al

A munkafüzet bezárása előtt megjelenik egy előugró ablak.

érdekes cikkek...