VBA Munkafüzetekkel való munka (The Workbook Object)

Ez az útmutató bemutatja, hogyan dolgozhat a Munkafüzet -objektum a VBA -ban.

A munkafüzet objektum

Először is, ahhoz, hogy kapcsolatba léphessen a VBA munkafüzeteivel, meg kell értenie a Munkafüzet objektum.

A munkafüzet -objektummal a munkafüzetekre a nevük alapján hivatkozhat:

1 Munkafüzetek ("Book2.xlsm"). Aktiválás

Ez a kód azonban csak akkor működik, ha a munkafüzet nyitva van. Ha a munkafüzet zárva van, meg kell adnia a teljes munkafüzet elérési útját:

1 Munkafüzetek.Open ("C: \ Users \ StevePC2 \ Letöltések \ book2.xlsm")

A teljes útvonal beírása helyett, ha a kívánt munkafüzet ugyanabban a könyvtárban található, mint a munkafüzet, amelyben a kódot tárolja, akkor ezt a sorkódot használva nyithatja meg a munkafüzetet:

1 Munkafüzetek.Nyissa (ThisWorkbook.Path & "\ book2.xlsm")

Ez kihasználja a ThisWorkbook objektumot, amelyet a következő részben tárgyalunk.

Munkafüzet indexszáma

Végül hivatkozhat a munkafüzetekre az „Indexszám” alapján. A munkafüzet indexszáma megfelel a munkafüzet megnyitásának sorrendjének (technikailag a munkafüzet pozíciója a munkafüzetgyűjteményben).

1 Munkafüzetek (1). Aktiválás

Ez akkor hasznos, ha olyasmit szeretne tenni, mint az első (vagy utolsó) megnyitott munkafüzet bezárása.

Aktiválja a munkafüzetet, az ActiveWorkbookot és a ThisWorkbookot

Ha egy munkafüzet NEM AKTÍV, a következőképpen érheti el a munkafüzet objektumait:

1 Munkafüzetek ("Book2.xlsm"). Táblázatok ("Sheet1"). Tartomány ("A1"). Érték = 1

Ha azonban a munkafüzet aktív, elhagyhatja a munkafüzet -objektumot:

1 Táblázatok ("Sheet1"). Tartomány ("A1"). Érték = 1

Ha pedig szeretne kapcsolatba lépni a munkafüzet aktív lapjával, akkor a lapok objektumot is leállíthatja:

1 Tartomány ("A1"). Érték = 1

Aktiválja a munkafüzetet

A munkafüzet aktiválásához használja a Módszer aktiválása.

1 Munkafüzetek ("Book2.xlsm"). Aktiválás

Mostantól kölcsönhatásba léphet a Book2 objektumaival anélkül, hogy kifejezetten megadná a munkafüzet nevét.

ActiveWorkbook

Az ActiveWorkbook objektum mindig az aktív munkafüzetre hivatkozik. Ez akkor hasznos, ha az ActiveWorkbookot hozzá szeretné rendelni egy változóhoz a későbbi használatra.

12 Dim wb Mint munkafüzetWb = ActiveWorkbook beállítása

Ez a munkakönyv

Az Ez a munkakönyv objektum mindig arra a munkafüzetre utal, ahol a futó kódot tárolják. A ThisWorkbook aktiválásához használja ezt a kódsort:

1 ThisWorkbook. Aktiválás

Nyissa meg a munkafüzetet

A munkafüzet megnyitásához használja a Nyílt módszer:

1 Munkafüzetek.Open ("C: \ Users \ StevePC2 \ Letöltések \ book2.xlsm")

Az újonnan megnyitott munkafüzet mindig a ActiveWorkbook, lehetővé téve a könnyű interakciót vele.

1 ActiveWorkbook.Save

A Nyitott módszer számos más érvet is tartalmaz, amelyek lehetővé teszik a csak olvasható, a jelszóval védett munkafüzet megnyitását és egyebeket. Itt olvasható a munkafüzetek megnyitásáról / bezárásáról szóló cikkünkben.

Megnyitás és hozzárendelés a változóhoz

Megnyithat egy munkafüzetet, és egyidejűleg hozzárendelheti egy változóhoz:

12 Dim wb Mint munkafüzetSet wb = Workbooks.Open ("C: \ Users \ StevePC2 \ Letöltések \ book2.xlsm")

Nyissa meg a Fájl párbeszédpanelt

A Fájl megnyitása párbeszédpanelt a következőképpen is elindíthatja:

12345678 OpenWorkbook ()Dim strFile karakterlánckéntstrFile = Application.GetOpenFilename ()Munkafüzetek. Nyissa meg (strFile)End Sub

Új (Hozzáadás) munkafüzet létrehozása

Ez a kódsor új munkafüzetet hoz létre:

1 Munkafüzetek

Az új munkafüzet most a ActiveWorkbook, amely lehetővé teszi az interakciót (pl. az új munkafüzet mentése).

Új munkafüzet hozzáadása a változóhoz

Új munkafüzetet közvetlenül is hozzáadhat egy változóhoz:

12 Dim wb Mint munkafüzetÁllítsa be a wb = Workbooks.Add

Zárja be a munkafüzetet

Bezárás és mentés

A munkafüzet mentéssel történő bezárásához használja a Bezárás módszer val vel Változtatások mentése állítsa IGAZ -ra:

1 ActiveWorkbook.Close SaveChanges: = Igaz

Bezárás mentés nélkül

Mentés nélküli bezáráshoz állítsa be Változtatások mentése egyenlő HAMIS:

1 ActiveWorkbook.Close SaveChanges: = Hamis

Munkafüzet Mentés másként

Az SaveAs módszer a munkafüzet másként való mentésére szolgál.

A munkafüzet új nevű, ugyanabban a könyvtárban történő mentéséhez használhatja ezt:

1 ActiveWorkbook.SaveAs "new"

ahol az „új” az új fájlnév.

Ha egy munkafüzetet egy új könyvtárba szeretne menteni egy adott fájlkiterjesztéssel, egyszerűen adja meg az új könyvtárat és fájlnevet:

1 ActiveWorkbook.SaveAs "C: \ Users \ StevePC2 \ Downloads \ new.xlsm"

Más példák a munkafüzet VBA -ira

A munkafüzet neve

A munkafüzet nevének lekérése:

1 MsgBox ActiveWorkbook.Name

Védje a munkafüzetet

A munkafüzet szerkezetének szerkesztés elleni védelme érdekében használhatja a Védelmi módszer (jelszó opcionális):

1 Munkafüzetek ("book1.xlsm"). Védje a "jelszót"

A munkafüzet védelmének feloldásához használja a Védelmetlen módszer:

1 Munkafüzetek ("book1.xlsm"). A "jelszó" védelmének feloldása

Tekintse át az összes nyitott munkafüzetet

Az összes nyitott munkafüzet áttekintése:

123456789 Sub LoopThroughWBs ()Dim wb Mint munkafüzetMinden wb -hez a munkafüzetekbenMsgBox wb.NameKövetkező wbEnd Sub

Esemény aktiválása a munkafüzetben

Futtathat valamilyen kódot, amikor egy adott munkafüzetet megnyit a Munkafüzet nyitott esemény.

Helyezze ezt az eljárást a munkafüzet ThisWorkbook moduljába:

123 Privát almunkafüzet_nyitva ()Táblázatok ("lap1"). AktiválásEnd Sub

Ez az eljárás aktiválódik 1. lap a munkafüzet minden megnyitásakor.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave