VBA Set Object Variables - sešity, pracovní listy a další

Tento tutoriál vás naučí definovat objektové proměnné pomocí příkazu Set ve VBA.

Definování proměnných objektu

Objekty jsou základním kamenem Microsoft Office - bez objektů nemůžeme ničeho dosáhnout. V aplikaci Excel zahrnují objekty sešit, sešit nebo objekty rozsahu. V aplikaci Microsoft Word jsou příklady objekt Dokument nebo Tabulka. Každý objekt má různé Vlastnosti a Metody které lze naprogramovat tak, aby řídilo chování daného objektu.

Deklarace proměnné objektu

Než budeme moci odkazovat na objekt v kódu, a tedy ovládat objekt, musíme objekt deklarovat. Můžeme to udělat pomocí příkazu Dim.

123456 Dim wkb jako sešitDim wks as WorksheetDim Rng jako rozsahDim wdDoc jako dokumentDim wdTbl jako tabulkuDim shp jako Shape

Tento Ztlumit deklarace může nastat uvnitř procedury:

nebo mimo proceduru na úrovni modulu:

Pokud je proměnná deklarována na úrovni modulu (mimo proceduru), lze proměnnou použít v celém modulu.

Pokud je proměnná objektu deklarována příkazem Public, lze proměnnou použít v celém projektu VBA:

Nastavit hodnotu

Jakmile objekt deklarujete, musíte mu přiřadit hodnotu. To je třeba provést pomocí Nastavit prohlášení a lze provést pouze v rámci a Postup.

12345 Sub SetObjects ()Nastavit wkb = ActiveWorkbookNastavit wks = Sheet1Nastavit rng = rozsah ("A1: G4")End Sub

Poznámka: Toto se liší od přiřazování hodnot neobjektovým proměnným. K přiřazení objektu k proměnné MUSÍTE použít příkaz Set. Pokud tak neučiníte, zobrazí se chyba:

Jakmile k objektu přiřadíte hodnotu, můžete pak psát kód pro ovládání chování nebo manipulaci s objektem.

Programování VBA | Generátor kódu pracuje pro vás!

Objektové příklady v Excelu

Objekt sešitu

Jakmile deklarujete proměnnou sešitu, můžete k tomuto objektu přiřadit sešit a manipulovat s tímto objektem pomocí dostupných vlastností a metod. V níže uvedeném příkladu uložíme sešit.

123456789101112 Dílčí sešitObjekt ()'deklarujte objekt sešitu.'Dim wkb jako sešit'přiřadit objektu neuložený sešitNastavit wkb = sešity ("Kniha1")'uložit sešitwkb.SaveAs "C: \ data \ testbook.xlsx"zavřít sešitwkb.close„Nezapomeňte předmět uvolnitNastavit wkb = nicEnd Sub

Objekt listu

Podobně můžete manipulovat s listem nebo sešity, jakmile list deklarujete jako proměnnou. V níže uvedeném příkladu přejmenujeme List1 a List2.

12345678910111213 Dílčí listObjekt ()Dim wks1 jako pracovní listDim wks2 jako pracovní list'inicializujte objektyNastavit wks1 = list1Nastavit wks2 = Sheet2“přejmenujte listywks1.Name = "Zákazníci"wks2.Name = "Produkty"“nastavil objekty na nicwks1 = Nicwks2 = NicEnd Sub

Už vás nebaví hledat příklady kódu VBA? Zkuste AutoMacro!

Objekt rozsahu

Objekt Range je jedním z nejužitečnějších objektů pro manipulaci v Excelu. V níže uvedeném příkladu vyznačíme tučně rozsah A1 až E1 a naformátujeme jej dolním okrajem.

12345678910111213 Sub RangeObject ()Dim rng1 As Range„zintenzivněte rozsahNastavit rng = rozsah ("A1: E1")'zvýrazněte rozsah a nastavte spodní hranicirng.Font.Bold = TrueS rng1.Borders (xlEdgeBottom).LineStyle = xlSpojité.ColorIndex = 0.TintAndShade = 0.Hmotnost = xlThinKonec sEnd Sub

Objekt tvaru

K práci s tvary můžete také použít objektové proměnné.

123456789101112 Sub AddShape ()Dim shp As Shape„vytvořte tvarNastavit shp = ActiveDocument.Shapes.AddShape (msoShapeSmileyFace, 68,25, 225,75, 136,5, 96#)S shp'změnit vnitřní barvu a styl.Fill.ForeColor.RGB = RGB (255, 255, 0).Fill.Solid„Uprav úsměv!.Úpravy položky (1) = 0,07181Konec sEnd Sub
wave wave wave wave wave