Prohlášení o sadě VBA - Jak přiřadit hodnoty proměnným objektu?

Výkaz sady Excel VBA

Sada VBA je příkaz, který se používá k přiřazení libovolného hodnotového klíče, který říká objektu nebo odkazu na proměnnou, pomocí této funkce definujeme parametr pro určitou proměnnou, například když napíšeme Set M = A, což znamená nyní M reference má stejné hodnoty a atributy podobné těm, které má A.

Ve VBA je objekt jádrem aplikace Excel, protože bez objektů nemůžeme nic dělat. Objekty jsou sešit, list a rozsah. Když deklarujeme proměnnou, musíme jí přiřadit datový typ a můžeme také přiřadit objekty jako datové typy. Chcete-li přiřadit hodnotu deklarovaným objektovým proměnným, musíme použít slovo „SET“. Slovo „Set“ se používá k označení nového objektu ve VBA, například s odkazem na konkrétní rozsah konkrétního listu.

Jak používat příkaz sady Excel VBA?

# 1 - Set Statement with Range Object Variables

Předpokládejme například, že chcete poměrně často používat rozsah A1 až D5. Místo toho, abychom kód zapisovali pokaždé jako Range („A1: D5“), můžeme deklarovat proměnnou jako range a nastavit reference rozsahu jako Range („A1: D5“)

Krok 1: Deklarujte proměnnou jako Range objekt.

Kód:

Dílčí sada_Příklad ()

Dim MyRange As Range

End Sub

Krok 2: V okamžiku, kdy přiřadíme datový typ jako rozsah, použijte slovo „Nastavit“.

Kód:

Sub Set_Example () Dim MyRange As Range Set MyRange = End Sub

Krok 3: Nyní uveďte rozsah.

Kód:

Sub Set_Example () Dim MyRange As Range Set MyRange = Range ("A1: D5") End Sub

Krok 4: Nyní se proměnná „MyRange“ rovná rozsahu A1 až D5. Pomocí této proměnné můžeme přistupovat ke všem vlastnostem a metodám tohoto rozsahu.

Můžeme kopírovat, přidávat komentáře v aplikaci Excel a dělat mnoho dalších věcí.

Například za účelem jsem zde vytvořil několik čísel.

Nyní pomocí proměnné změním velikost písma na 12.

Kód:

Sub Set_Example () Dim MyRange As Range Set MyRange = Range ("A1: D5") MyRange.Font.Size = 12 End Sub

Tím se změní velikost písma přiřazeného rozsahu.

Takto můžeme pomocí slova „Nastavit“ dělat mnoho věcí s určitým rozsahem.

# 2 - Nastavit příkaz s proměnnými objektu listu

Viděli jsme, jak „sada“ pracuje s objektem rozsahu ve VBA. Funguje přesně stejně jako objekt listu.

Řekněme, že máte v sešitu 5 listů a chcete se vracet k jednomu konkrétnímu listu. Název tohoto listu můžete nastavit na definovanou proměnnou objektu.

Podívejte se například na níže uvedený kód.

Kód:

Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Summary Sheet") End Sub

Ve výše uvedeném kódu byla proměnná „Ws“ definována jako objektová proměnná a na dalším řádku pomocí slova „Nastavit“ jsme proměnnou nastavili na list s názvem „Souhrnný list“.

Nyní pomocí této proměnné můžeme dělat všechny věci s ní spojené. Podívejte se na níže uvedené dvě sady kódu.

# 1 - Bez slova „Set“

Kód:

Sub Set_Worksheet_Example1 () 'Chcete-li vybrat listy pracovních listů ("Souhrnný list"). Vyberte "Chcete-li aktivovat listy listů (" Souhrnný list "). Aktivovat' Chcete-li skrýt listy listů (" Souhrnný list "). Viditelné = xlVeryHidden 'To odkryje listy pracovních listů ("souhrnný list"). Viditelné = xlVisible End Sub

Pokaždé, když jsem pomocí objektu pracovních listů odkazoval na list „Souhrnný list“, je kód tak zdlouhavý a jeho psaní vyžaduje hodně času.

Jako součást obrovského kódu je frustrující zadávat tento název listu pokaždé, když potřebujete odkazovat na list.

Nyní se podívejme na výhodu použití slova Nastavit v kódu.

# 2 - Se slovem „Set“

Kód:

Sub Set_Worksheet_Example() Dim Ws As Worksheet Set Ws = Worksheets("Summary Sheet") 'To select the sheet Ws.Select 'To Activate the sheet Ws.Activate 'To hide the sheet Ws.Visible = xlVeryHidden 'To unhide the sheet Ws.Visible = xlVisible End Sub

The moment we set the worksheet name, we can see the variable name while entering the code as part of the list.

#3 - Set Statement with Workbook Object Variables

The real advantage of the word “Set” in VBA arises when we need to reference different workbooks.

When we work with different workbooks, it is so hard to type in the full name of the workbook, along with its file extension.

Assume you have two different workbooks named “Sales Summary File 2018.xlsx” and “Sales Summary File 2019.xlsx” we can set the two workbooks like the below code.

Code:

Sub Set_Workbook_Example1 () Dim Wb1 As Workbook Dim Wb2 As Workbook Set Wb1 = Workbooks ("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks ("Sales Summary File 2019.xlsx") End Sub

Proměnná Wb1 se nyní rovná sešitu s názvem „Sales Summary File 2018.xlsx“ a proměnná Wb2 se rovná sešitu s názvem „Sales Summary File 2019.xlsx“.

Pomocí této proměnné můžeme skutečně přistupovat ke všem vlastnostem a metodám spojeným se sešitem.

Můžeme zkrátit kód jako níže.

Bez použití Set Keyword k aktivaci sešitu:

Sešity („Souhrnný soubor prodeje 2018.xlsx“). Aktivujte

Aktivace sešitu pomocí nastavení klíčového slova:

Wb1. Aktivovat

Díky tomu je psaní kódu mnohem jednodušší a také, jakmile je nastaven název sešitu, je zde obava z překlepové chyby názvů sešitu.

Zajímavé články...