VBA készlet nyilatkozat | Hogyan rendelhetünk értékeket objektumváltozókhoz?

Excel VBA állítás

A VBA Set egy olyan utasítás, amelyet bármilyen értékkulcs hozzárendeléséhez használnak, amely szerint egy objektum vagy egy változóra való hivatkozás van. Ezt a függvényt használjuk egy bizonyos változó paraméterének meghatározásához, például, ha M = A halmazot írunk, ami most M A referenciának ugyanazok az értékei és attribútumai vannak, mint az A-nak.

A VBA-ban egy objektum az excel magja, mert objektumok nélkül nem tehetünk semmit. Az objektumok a munkafüzet, a munkalap és a tartomány. Amikor deklarálunk egy változót, adattípust kell rendelnünk hozzá, és objektumokat is adhatunk adattípusnak. Ahhoz, hogy értéket rendeljünk a deklarált objektumváltozókhoz, a „SET” szót kell használnunk. A „Set” szó egy új objektumra utal a VBA-ban, például az adott munkalap adott tartományára utal.

Az Excel VBA Set Statement használata

Itt letöltheti ezt a VBA-állítássablont - VBA-állítássablon

# 1 - Állítson állítást tartomány objektumváltozókkal

Tegyük fel például, hogy elég gyakran szeretné használni az A1 és D5 tartományokat. Ahelyett, hogy a kódot tartományként („A1: D5”) írnánk, minden alkalommal deklarálhatjuk a változót tartományként, és a tartomány referenciát tartományként állíthatjuk be („A1: D5”)

1. lépés: Nyújtsa be a változót Range objektumként.

Kód:

 Részkészlet_Példa ()

Dim MyRange As Range

End Sub

2. lépés: Abban a pillanatban, amikor az adattípust tartománynak rendeljük, használja a „Set” szót.

Kód:

 Sub Set_Példa () Dim MyRange As Range Set MyRange = End Sub 

3. lépés: Most említse meg a tartományt.

Kód:

 Sub Set_Példa () Dim MyRange As Range Set MyRange = Range ("A1: D5") End Sub 

4. lépés: Most a „MyRange” változó megegyezik az A1 – D5 tartományral. Ennek a változónak a segítségével elérhetjük a tartomány összes tulajdonságát és módszerét.

Másolhatunk, hozzáadhatunk egy megjegyzést az excelben, és sok más dolgot is megtehetünk.

Például itt létrehoztam néhány számot.

Most a változó használatával megváltoztatom a betűméretet 12-re.

Kód:

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

Ez megváltoztatja a hozzárendelt tartomány betűméretét.

Így sok mindent megtehetünk egy adott tartományban a „Beállítás” szó használatával.

# 2 - Állítás beállítása munkalap objektumváltozókkal

Láttuk, hogyan működik a „set” egy tartomány objektummal a VBA-ban. Pontosan ugyanúgy működik, mint a munkalap objektum.

Tegyük fel, hogy 5 munkalapja van a munkafüzetében, és továbbra is vissza akar térni az adott munkalapra, beállíthatja a munkalap nevét a megadott objektumváltozóra.

Nézze meg például az alábbi kódot.

Kód:

 Sub Set_Worksheet_Példa () Dim Ws mint munkalap készlet Ws = munkalapok ("Summary Sheet") End Sub 

A fenti kódban az objektumváltozóként definiált „Ws” változó, és a következő sorban a „Set” szó használatával a változót az „Summary Sheet” nevű munkalapra állítottuk.

Most ennek a változónak a segítségével elvégezhetünk minden hozzá tartozó dolgot. Vessen egy pillantást az alábbi két kódkészletre.

# 1 - „Beállított” szó nélkül

Kód:

 Sub Set_Worksheet_Example1 () 'A munkalapok ("Összefoglaló lap") kiválasztásához. Válassza a "A munkalapok (" Összefoglaló lap ") aktiválásához. Aktiválja" A munkalapok ("Összefoglaló lap") elrejtéséhez. Visible = xlVeryHidden' To a munkalapok ("Összefoglaló lap") elrejtése. Visible = xlVisible End Sub 

Minden alkalommal, amikor a munkalapok objektummal hivatkoztam az „Összefoglaló lap” lapra. Ez olyan hosszúvá teszi a kódot, és sok időt igényel a gépeléshez.

A hatalmas kód részeként bosszantó, ha minden alkalommal meg kell adni a munkalap nevét, amikor hivatkozni kell a munkalapra.

Most vessen egy pillantást a Set in Code használatának előnyére.

# 2 - „Beállított” szóval

Kód:

 Sub Set_Worksheet_Példa () Dim Ws mint munkalapkészlet Ws = munkalapok ("Összefoglaló lap") 'A Ws lap kiválasztásához. Válassza a' Ws lap aktiválásához 'Activate' lehetőséget a Ws lap elrejtéséhez. Visis = xlVeryHidden 'A Ws lap elrejtéséhez .Visible = xlVisible End Sub 

Abban a pillanatban, amikor beállítjuk a munkalap nevét, láthatjuk a változó nevét, miközben a kódot a lista részeként adjuk meg.

# 3 - Állítás beállítása munkafüzet objektumváltozókkal

A VBA-ban a „Set” szó valódi előnye akkor merül fel, amikor különböző munkafüzetekre kell hivatkoznunk.

Amikor különböző munkafüzetekkel dolgozunk, olyan nehéz beírni a munkafüzet teljes nevét és a fájlkiterjesztést.

Tegyük fel, hogy két különböző munkafüzeted van: „Értékesítési összefoglaló fájl 2018.xlsx” és „Értékesítési összefoglaló fájl 2019.xlsx”. A két munkafüzetet beállíthatjuk az alábbi kódhoz hasonlóan.

Kód:

 Alkészlet_Munkafüzet_példa1 () Dim Wb1 mint munkafüzet Dim Wb2 As Workbook Set Wb1 = Munkafüzetek ("Értékesítési összefoglaló fájl 2018.xlsx") Készlet Wb2 = Munkafüzetek ("Értékesítési összefoglaló fájl 2019.xlsx") Alrész 

Most a Wb1 változó egyenlő az „Sales Summary File 2018.xlsx” nevű munkafüzettel, a Wb2 változó pedig az „Sales Summary File 2019.xlsx” nevű munkafüzettel.

Ennek a változónak a segítségével elérhetjük a munkafüzethez tartozó összes tulajdonságot és módszert.

Az alábbiak szerint rövidíthetjük a kódot.

A Munkakönyv aktiválásához a Kulcsszó beállítása funkció használata:

Workbooks("Sales Summary File 2018.xlsx").Activate

Using the Set Keyword to activate the workbook:

Wb1.Activate

This makes the writing of the code lot simpler and also once the workbook name is set there is a worry of typo error of the workbook names.