VBA rinkinio pareiškimas | Kaip priskirti vertes objekto kintamiesiems?

„Excel VBA“ rinkinio pareiškimas

VBA rinkinys yra sakinys , naudojamas priskirti bet kurį vertės raktą, kuriame sakoma, kad objektas arba nuoroda į kintamąjį. Mes naudojame šią funkciją apibrėždami tam tikro kintamojo parametrą, pavyzdžiui, jei mes parašome rinkinį M = A, tai reiškia, kad dabar M nuoroda turi tas pačias reikšmes ir atributus, panašius į tai, ką turi A.

VBA objektas yra „Excel“ šerdis, nes be objektų mes nieko negalime padaryti. Objektai yra darbaknygė, darbalapis ir diapazonas. Kai deklaruojame kintamąjį, jam reikia priskirti duomenų tipą, o objektus taip pat galime priskirti duomenų tipams. Norėdami priskirti vertę deklaruojamiems objektų kintamiesiems, turime naudoti žodį „SET“. Žodis „Nustatyti“ buvo naudojamas norint nurodyti naują objektą VBA, pavyzdžiui, nurodant konkretų konkretaus darbalapio diapazoną.

Kaip naudoti „Excel VBA Set Statement“?

Šį VBA rinkinio pareiškimo šabloną galite atsisiųsti čia - VBA rinkinio pareiškimo šablonas

# 1 - Nustatykite teiginį su diapazono objekto kintamaisiais

Pavyzdžiui, tarkime, kad norite gana dažnai naudoti diapazoną nuo A1 iki D5. Užuot kiekvieną kartą rašę kodą kaip diapazoną („A1: D5“), mes galime paskelbti kintamąjį kaip diapazoną ir nustatyti diapazono nuorodą kaip diapazoną („A1: D5“)

1 veiksmas: paskelbkite kintamąjį kaip „Range“ objektą.

Kodas:

 Papildomas rinkinys_pavyzdys ()

„Dim MyRange As Range“

Pabaigos sub

2 žingsnis: Kai priskiriame duomenų tipą kaip diapazoną, naudokite žodį „Nustatyti“.

Kodas:

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

3 žingsnis: Dabar paminėkite diapazoną.

Kodas:

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

4 žingsnis: Dabar kintamasis „MyRange“ yra lygus diapazonui nuo A1 iki D5. Naudodami šį kintamąjį galime pasiekti visas šio diapazono savybes ir metodus.

Mes galime kopijuoti, pridėti komentarą „Excel“ ir atlikti daug kitų dalykų.

Pavyzdžiui, čia sukūriau keletą skaičių.

Dabar naudodamas kintamąjį pakeisiu šrifto dydį į 12.

Kodas:

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

Tai pakeis priskirto diapazono šrifto dydį.

Panašiai mes galime padaryti daug dalykų naudodami tam tikrą diapazoną, naudodami žodį „Nustatyti“.

# 2 - Nustatykite teiginį su darbalapio objekto kintamaisiais

Mes matėme, kaip „set“ veikia su diapazono objektu VBA. Jis veikia lygiai taip pat, kaip ir darbalapio objektas.

Tarkime, kad jūsų darbaknygėje yra 5 darbalapiai ir norite grįžti prie vieno konkretaus darbalapio, galite nustatyti šio darbalapio pavadinimą pagal apibrėžtą objekto kintamąjį.

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

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

Pirmiau pateiktame kode kintamasis „Ws“ apibrėžtas kaip objekto kintamasis, o kitoje eilutėje, naudodami žodį „Nustatyti“, nustatėme kintamąjį į darbalapį, pavadintą „Santraukos lapas“.

Dabar naudodami šį kintamąjį galime atlikti visus su juo susijusius dalykus. Pažvelkite į žemiau pateiktus du kodų rinkinius.

1 - be „Nustatyto“ žodžio

Kodas:

 Sub Set_Worksheet_Example1 () "Norėdami pasirinkti lapo darbalapius (" Santraukos lapas "). Pasirinkite" Norėdami suaktyvinti lapo darbalapius ("Santraukos lapas"). Suaktyvinkite "Norėdami paslėpti lapo darbalapius (" Santraukos lapas "). Visible = xlVeryHidden 'To rodyti lapą Darbalapiai („Santraukos lapas“). Visible = xlVisible End Sub 

Kiekvieną kartą naudodamasis darbalapių objektu nurodydavau lapą „Santraukos lapas“. Dėl to kodas yra toks ilgas ir norint įvesti reikia daug laiko.

Kaip didžiulio kodo dalį, apmaudu rašyti tokį darbalapio pavadinimą kiekvieną kartą, kai reikia nurodyti darbalapį.

Dabar pažvelkite į žodžio „Set in Code“ naudojimo pranašumą.

2 - su „Nustatyti“ žodžiu

Kodas:

 Sub Set_Worksheet_Example () Dim Ws as Worksheet Set Ws = Worksheets ("Summary Sheet") "Norėdami pasirinkti Ws lapą. Pasirinkite" Norėdami suaktyvinti lapą Ws.Activate "Norėdami paslėpti Ws.Visible = xlVeryHidden" Norėdami paslėpti Ws lapą .Visible = xlVisible End Sub 

Tuo metu, kai nustatome darbalapio pavadinimą, galime pamatyti kintamojo pavadinimą, įvesdami kodą kaip sąrašo dalį.

# 3 - Nustatykite teiginį su darbaknygės objektų kintamaisiais

Tikrasis žodžio „Nustatyti“ pranašumas VBA atsiranda tada, kai reikia remtis skirtingomis darbo knygomis.

Kai dirbame su skirtingomis darbaknygėmis, taip sunku įvesti visą darbaknygės pavadinimą kartu su failo plėtiniu.

Tarkime, kad turite du skirtingus darbaknyges pavadinimu „Pardavimų suvestinės byla 2018.xlsx“ ir „Pardavimo suvestinės byla 2019.xlsx“. Mes galime nustatyti dvi darbaknyges kaip žemiau pateiktą kodą.

Kodas:

 Sub Set_Workbook_Pavyzdys1 () 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 

Dabar kintamasis Wb1 yra lygus darbaknygei pavadinimu „Sales Summary File 2018.xlsx“, o kintamasis Wb2 lygus darbaknygei pavadinimu „Sales Summary File 2019.xlsx“.

Naudodami šį kintamąjį, iš tikrųjų galime pasiekti visas su darbaknyge susietas ypatybes ir metodus.

Mes galime sutrumpinti kodą, kaip nurodyta toliau.

Nenaudodami nustatyto raktinio žodžio darbaknygei suaktyvinti:

Darbaknygės („Pardavimo suvestinės byla 2018.xlsx“). Suaktyvinti

Darbo knygos suaktyvinimas naudojant raktinį žodį:

Wb1. Suaktyvinti

Tai palengvina kodo partijos rašymą, taip pat nustačius darbaknygės pavadinimą, neramu dėl darbo knygos pavadinimų klaidos.