Stanje VBA - Kako dodeliti vrednosti objektnim spremenljivkam?

Izjava o nastavitvi programa Excel VBA

VBA Set je stavek, ki se uporablja za dodelitev katerega koli vrednostnega ključa, ki pravi, da objekt ali sklic na spremenljivko uporabljamo to funkcijo za določanje parametra za določeno spremenljivko, na primer, če napišemo Set M = A, kar pomeni zdaj M reference ima enake vrednosti in atribute, podobne tistim, ki jih ima A.

V VBA je objekt jedro excela, ker brez predmetov ne moremo storiti ničesar. Predmeti so Delovni zvezek, Delovni list in Obseg. Ko deklariramo spremenljivko, ji moramo dodeliti podatkovni tip, predmete pa lahko dodelimo tudi kot podatkovne tipe. Za dodelitev vrednosti deklariranim spremenljivkam objekta moramo uporabiti besedo »SET«. Beseda »Set« se je na primer nanašala na nov objekt v VBA, na primer glede na določen obseg določenega delovnega lista.

Kako uporabiti Excel VBA Set Statement?

# 1 - Nastavite izjavo s spremenljivkami predmeta obsega

Denimo, da želite pogosto uporabljati obseg od A1 do D5. Namesto da kodo vsakič zapišemo kot obseg (»A1: D5«), spremenljivko lahko razglasimo kot obseg in referenco obsega nastavimo kot obseg (»A1: D5«)

1. korak: Spremenljivko prijavite kot objekt Range.

Koda:

Podnabor_Primer ()

Zatemni obseg MyRange As Range

Končaj pod

2. korak: V trenutku, ko določimo vrsto podatkov kot obseg, uporabimo besedo »Set«.

Koda:

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

3. korak: Zdaj omenite obseg.

Koda:

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

4. korak: Spremenljivka »MyRange« je enaka obsegu od A1 do D5. S to spremenljivko lahko dostopamo do vseh lastnosti in metod tega obsega.

Lahko kopiramo, dodamo komentar v Excelu in počnemo marsikaj drugega.

Na primer, namen, tukaj sem ustvaril nekaj številk.

Zdaj s spremenljivko spremenim velikost pisave na 12.

Koda:

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

To bo spremenilo velikost pisave dodeljenega obsega.

Tako lahko z določenim obsegom naredimo marsikaj z besedo »Set«.

# 2 - Nastavite izjavo s spremenljivkami predmeta delovnega lista

Videli smo, kako "set" deluje z objektom obsega v VBA. Deluje popolnoma enako kot objekt na delovnem listu.

Recimo, da imate v delovnem zvezku 5 delovnih listov in se želite še naprej vračati na določen delovni list. Ime tega delovnega lista lahko nastavite na definirano spremenljivko predmeta.

Na primer, poglejte spodnjo kodo.

Koda:

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

V zgornji kodi je spremenljivka »Ws« opredeljena kot spremenljivka predmeta, v naslednji vrstici pa smo z besedo »Set« nastavili spremenljivko na delovni list z imenom »Summary Sheet«.

Zdaj s pomočjo te spremenljivke lahko naredimo vse stvari, povezane z njo. Oglejte si spodnja dva sklopa kode.

# 1 - Brez besede "Set"

Koda:

Sub Set_Worksheet_Example1 () 'Za izbiro delovnih listov listov ("Summary Sheet"). Izberite' Aktiviranje delovnih listov listov ("Summary Sheet"). Aktiviraj 'Za skritje delovnih listov ("Summary Sheet"). Visible = xlVeryHidden' To razkrij list Delovni listi ("Summary Sheet"). Visible = xlVisible End Sub

Vsakič, ko sem se z objektom delovnih listov skliceval na list »Povzetek«, je koda tako dolga in zahteva veliko časa za vnos.

Kot del velike kode je neprijetno vtipkati tako ime delovnega lista vsakič, ko se morate sklicevati na delovni list.

Zdaj pa si oglejte prednost uporabe besede Set in Code.

# 2 - z besedo »Set«

Koda:

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 = Delovni zvezki ("Datoteka s povzetkom prodaje 2018.xlsx") Set Wb2 = Delovni zvezki ("Datoteka s povzetkom prodaje 2019.xlsx") End Sub

Zdaj je spremenljivka Wb1 enaka delovnemu zvezku z imenom »Datoteka s povzetkom prodaje 2018.xlsx«, spremenljivka Wb2 pa je enaka delovni knjigi z imenom »Datoteka s povzetkom prodaje 2019.xlsx«.

S to spremenljivko lahko dejansko dostopamo do vseh lastnosti in metod, povezanih z delovnim zvezkom.

Kodo lahko skrajšamo kot spodaj.

Brez uporabe nastavitve ključne besede za aktiviranje delovnega zvezka:

Delovni zvezki (»Datoteka s povzetkom prodaje 2018.xlsx«). Aktivirajte

Uporaba nastavitve ključne besede za aktiviranje delovnega zvezka:

Wb1.Aktiviraj

To olajša pisanje sklopa kode in tudi, ko je ime delovnega zvezka nastavljeno, obstaja skrb zaradi napake pri tipkanju imen delovnih zvezkov.

Zanimive Članki...