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.