VBA objektumok

Tartalomjegyzék

Az Excel VBA objektumok kódból és adatokból álló „entitásokra” utalnak. Az Excel alkalmazás maga is objektum, csakúgy, mint a munkafüzetek, munkalapok, cellatartományok és alakzatok. Minden objektumnak vannak tulajdonságai és módszerei. Az objektumok más objektumokat is tartalmazhatnak, és a gyűjteményobjektum ugyanazon Excel -objektumok csoportjára utal.

Ebben az oktatóanyagban néhány általánosan használt Excel objektumot fogunk megvizsgálni.

Alkalmazás objektum

Az Application Object a teljes Excel alkalmazásra vonatkozik. Az Application objektum tartalmazza a munkafüzet objektumot.

A következő kód az Application objektum WindowState tulajdonságát használja az Excel ablak maximális méretre állításához:

12345 Sub MaximizingTheExcelWindow ()Application.WindowState = xlMaximizedEnd Sub

Munkafüzetek objektum

A Munkafüzetek objektum az összes jelenleg megnyitott Excel munkafüzet gyűjteményére vonatkozik.

A következő kód a Workbooks.Add metódust használja egy új munkafüzet létrehozásához és a gyűjteményhez való hozzáadásához:

12345 Sub HozzáadásÚj Munkafüzet A Munkafüzetekhez Gyűjtemény ()MunkafüzetekEnd Sub

A Munkafüzetek gyűjteményben található egyes munkafüzeteket indexszámán vagy nevén érheti el. Tehát hivatkozhat az ExcelWb nevű munkafüzetre a munkafüzetek („ExcelWB”) használatával.

Munkafüzet objektum

A munkafüzet objektum a Munkafüzetek gyűjtemény része. A munkafüzet objektum tartalmazza a munkalapok gyűjteményét (munkalapok) és a lapgyűjteményt (munkalapok, diagramlapok és makrólapok). Az ActiveWorkbook objektum az aktív munkafüzetre utal.

A következő kód az ActiveWorkbook.Save módszert használja az aktuális aktív munkafüzet mentéséhez:

12345 A munkafüzet almentése ()ActiveWorkbook.SaveEnd Sub

Sheets Object

A lapok objektum a munkafüzet összes munkalapjának, diagramlapjának és makrólapjának gyűjteményére vonatkozik. A következő kód a Sheets.Add metódust használja az ExtraSheet nevű új munkalap hozzáadásához a munkafüzet utolsó munkalapja után:

123456 Sub AddingANewSheet ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Típus: = xlWorksheet) .Name = "ExtraSheet"End Sub

Jegyezze meg a Sheets.Add módszer szintaxisát:
Táblázatok. Add (Előtt, Után, Számol, típus) ahol:

-Előtte opcionális, és meghatározza, hogy az új lapot egy meglévő lap előtt kell hozzáadni.

-After opcionális, és megadja, hogy az új lapot egy meglévő lap után kell hozzáadni.

-A szám nem kötelező, és megadja a hozzáadandó lapok számát.

-A típus nem kötelező, és megadja a lap típusát. Az xlWorksheet új munkalapot, az xlChart új diagramlapot, az xlExcel4MacroSheet vagy az xlExcel4IntlMacroSheet új makrólapot adna hozzá. Ha üres, akkor az alapértelmezett xlWorksheet lapot használja.

A Táblázatok gyűjtemény egyes lapjait az indexszámán vagy nevén érheti el. Tehát hivatkozhat a SheetOne nevű munkalapra a Sheets („SheetOne”) használatával.

Munkalapok objektum

A Munkalapok objektum a munkafüzet összes munkalapjának gyűjtésére utal. A következő kód a Worksheets.Add metódust használja egy új munkalap hozzáadásához:

12345 Sub AddingANewSheet ()Munkalapok. HozzáadásEnd Sub

A Munkalapok gyűjtemény egyes lapjait az indexszámán vagy nevén érheti el. Tehát hivatkozhat a SheetTwo nevű munkalapra a Munkalapok („SheetTwo”) használatával.

Munkalap objektum

A munkalap objektum a Munkalapok gyűjtemény része. A munkalap objektum tartalmazza a tartomány objektumot és más objektumokat. Az ActiveSheet objektum az aktív lapra utal.

A következő kód az fekvő tájolást tájképre változtatja:

12345 Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeEnd Sub

Megjegyzés: A Sheet objektum tartalmazza a PageSetup objektumot, és a tájolás tulajdonsága xlLandscape értékre van állítva.

Tartomány objektum

A Range objektum hivatkozhat egyetlen cellára vagy cellahalmazra a munkalapon. A következő kód bemutatja a tartomány használatát. Válassza ki az A1: B1 cellák kiválasztásának módszerét:

12345 AlválasztásARange ()Tartomány ("A1: B1"). Válassza kiEnd Sub

Alakzatok objektum

A Shapes objektum a munkalap összes alakjának gyűjteményére utal. A következő kód az ActiveSheet összes alakzatát választja ki:

12345 AlkiválasztásAllTheShapes ()ActiveSheet.Shapes.SelectAllEnd Sub

Alak objektum

A Shape Object a Shapes kollekció része. A következő kód lekerekített téglalap alakzatot hoz létre, majd beállítja az alakzatobjektum név tulajdonságát:

123456789 SubTheTheShapeObject () használataMunkalapokkal (1). Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Kerekített téglalap"Vége ezzelEnd Sub

Excel VBA objektummodell

Az Excel VBA objektummodellje leírja az Excelben használható összes objektum hierarchiáját. Például a Munkafüzetek objektum segítségével közvetve vagy közvetlenül hivatkozhat az összes többi objektumra. A következő kód bemutatja, hogyan válasszuk ki az A1 cellát a hierarchikus struktúra segítségével:

12345 A TheHierachicalStructure () használataMunkafüzetek ("Könyv1"). Munkalapok ("Lap1"). Tartomány ("A1"). Válassza kiEnd Sub

Objektumváltozó deklarálása és hozzárendelése

A Dim és Set kulcsszavak használatával deklarálhat és hozzárendelhet egy objektumot egy változóhoz.

Például:

12 Dim ws munkalapkéntÁllítsa be ws = ActiveWorkbook.ActiveSheet

A következő kód bemutatja, hogyan kell deklarálni és Range objektumot hozzárendelni egy változóhoz:

12345678910111213141516 ARangeToAVariable () al hozzárendeléseDim rngOne objektumkéntÁllítsa be az rngOne = tartományt ("A1: C1")rngOne.Font.Bold = IgazAz rngOne segítségével.Font.Bold = Igaz.Font.Name = "Calibri". Betűtípus.Méret = 9. Betűtípus Szín = RGB (35, 78, 125). Belső. Szín = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousVége ezzelEnd Sub

Az eredmény:

A VBA elsajátításához elengedhetetlen, hogy megértsük, hogyan működnek az objektumok. Az Interaktív VBA bemutatónk segítségével többet megtudhat.

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

wave wave wave wave wave