VBA Postavi izjavu | Kako dodijeliti vrijednosti objektnim varijablama?

Izjava o skupu VBA programa Excel

VBA Set je izjava koja se koristi za dodjeljivanje bilo kojem ključu vrijednosti kaže da objekt ili referenca na varijablu koristimo ovu funkciju za definiranje parametra za određenu varijablu, na primjer, ako napišemo Set M = A što sada znači M reference ima iste vrijednosti i atribute slične onima koje ima A.

U VBA-u je objekt jezgra excela jer bez objekata ne možemo ništa učiniti. Objekti su Radna knjiga, Radni list i Raspon. Kad deklariramo varijablu, trebamo joj dodijeliti tip podataka, a objekte možemo dodijeliti i kao tipove podataka. Da bismo dodijelili vrijednost deklariranim objektnim varijablama, trebamo upotrijebiti riječ "SET". Riječ "Set" odnosila se na novi objekt u VBA-u, na primjer, pozivajući se na određeni raspon određenog radnog lista.

Kako koristiti Excel VBA Set Statement?

Ovaj VBA predložak postavke izvještaja možete preuzeti ovdje - VBA predložak izvještaja

# 1 - Postavi izjavu s varijablama raspona objekata

Na primjer, pretpostavimo da želite prilično često koristiti raspon od A1 do D5. Umjesto da kod zapisujemo kao Raspon ("A1: D5"), svaki put možemo varijablu proglasiti opsegom i referencu raspona postaviti kao Raspon ("A1: D5")

Korak 1: Deklarirajte varijablu kao objekt Range.

Kodirati:

 Pod set_Primjer ()

Zatamni MyRange As Range

Kraj pod

Korak 2: U trenutku kada dodijelimo vrstu podataka kao raspon, upotrijebite riječ "Postavi".

Kodirati:

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

Korak 3: Sada spomenite raspon.

Kodirati:

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

Korak 4: Sada je varijabla "MyRange" jednaka rasponu od A1 do D5. Korištenjem ove varijable možemo pristupiti svim svojstvima i metodama ovog raspona.

Možemo kopirati, dodati komentar u excelu i raditi mnoge druge stvari.

Na primjer, ovdje sam stvorio neke brojeve.

Sad ću pomoću varijable promijeniti veličinu fonta na 12.

Kodirati:

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

Ovo će promijeniti veličinu fonta dodijeljenog raspona.

Ovako, možemo učiniti mnogo stvari s određenim rasponom pomoću riječi "Postavi".

# 2 - Postavljanje izjave s varijablama predmeta radnog lista

Vidjeli smo kako "set" radi s objektom raspona u VBA. Djeluje potpuno isto kao i objekt radnog lista.

Recimo da u svojoj radnoj knjizi imate 5 radnih listova i da se želite vratiti na određeni radni list, možete taj naziv radnog lista postaviti na definiranu varijablu objekta.

Na primjer, pogledajte donji kod.

Kodirati:

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

U gore navedenom kodu varijabla “Ws” definirana je kao objektna varijabla, a u sljedećem smo retku pomoću riječi “Set” postavili varijablu na radni list nazvan “Summary Sheet”.

Sada pomoću ove varijable možemo učiniti sve stvari povezane s njom. Pogledajte donja dva skupa koda.

# 1 - bez riječi "Set"

Kodirati:

 Sub Set_Worksheet_Example1 () 'Da biste odabrali radne listove lista ("Summary Sheet"). Odaberite "Da biste aktivirali radne listove lista (" Summary Sheet "). Aktivirajte" Da biste sakrili radne listove lista ("Summary Sheet"). Visible = xlVeryHidden' Za otkriti list Radni listovi ("Sažetak"). Vidljivo = xlVidljivo Kraj Sub 

Svaki put kada sam se koristio objektom radnih listova kako bih uputio na list "Sažetak". To kôd čini tako dugim i zahtijeva puno vremena za tipkanje.

As part of the huge code, it is frustrating to type the worksheet name like this every time you need to reference the worksheet.

Now take a look at the advantage of using the word Set in Code.

#2 – With “Set” Word

Code:

 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 

Now variable Wb1 is equal to the workbook named “Sales Summary File 2018.xlsx” and variable Wb2 is equal to the workbook named “Sales Summary File 2019.xlsx”.

Using this variable we can actually access all the properties and methods associated with the workbook.

We can shorten the code like the below.

Without Using Set Keyword to activate the workbook:

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.