VBA sæt erklæring | Hvordan tildeles værdier til objektvariabler?

Erklæring om Excel VBA-sæt

VBA-sæt er en sætning, der bruges til at tildele en hvilken som helst værdinøgle, der siger et objekt eller en reference til en variabel, vi bruger denne funktion til at definere parameteren for en bestemt variabel, for eksempel hvis vi skriver Set M = A, hvilket betyder nu M reference har de samme værdier og attributter svarende til det, som A har.

I VBA er et objekt en kerne i excel, fordi uden objekter kan vi ikke gøre noget. Objekter er projektmappe, regneark og rækkevidde. Når vi erklærer en variabel, skal vi tildele den en datatype, og vi kan også tildele objekter som datatyper. For at tildele en værdi til deklarerede objektvariabler skal vi bruge ordet "SET". Ordet "Set" bruges til at henvise til et nyt objekt i VBA, for eksempel med henvisning til det bestemte område for det pågældende regneark.

Hvordan bruges Excel VBA Set Statement?

Du kan downloade denne VBA Set Statement Template her - VBA Set Statement Template

# 1 - Sæt erklæring med variabel for rækkeviddeobjekt

Antag for eksempel, at du ofte vil bruge området A1 til D5. I stedet for at skrive koden som rækkevidde (“A1: D5”) hver gang, kan vi erklære variablen som rækkevidde og indstille rækkevidde som område (“A1: D5”)

Trin 1: Erklær variablen som et Range-objekt.

Kode:

 Undersæt_eksempel ()

Dim MyRange As Range

Afslut sub

Trin 2: I det øjeblik vi tildeler datatypen som rækkevidde, skal du bruge ordet "Set".

Kode:

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

Trin 3: Nævn nu rækkevidden.

Kode:

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

Trin 4: Nu er variablen “MyRange” lig med området A1 til D5. Ved hjælp af denne variabel kan vi få adgang til alle egenskaberne og metoderne i dette interval.

Vi kan kopiere, tilføje en kommentar i excel og gøre mange andre ting.

For eksempel har jeg oprettet nogle numre her.

Brug nu variablen, og jeg ændrer skriftstørrelsen til 12.

Kode:

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

Dette ændrer skriftstørrelsen for det tildelte interval.

På denne måde kan vi gøre mange ting med et bestemt interval ved at bruge ordet "Set".

# 2 - Sæt erklæring med regnearkobjektvariabler

Vi har set, hvordan "sæt" fungerer med et intervalobjekt i VBA. Det fungerer også nøjagtigt som regnearkobjektet.

Lad os sige, at du har 5 regneark i din projektmappe, og at du vil fortsætte med at gå tilbage til det ene regneark, du kan indstille projektarknavnet til den definerede objektvariabel.

Se f.eks. Nedenstående kode.

Kode:

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

I ovenstående kode definerede variablen "Ws" som objektvariabel, og i næste linje ved hjælp af ordet "Set" indstillede vi variablen til regnearket med navnet "Resuméark".

Nu ved at bruge denne variabel kan vi gøre alle de ting, der er knyttet til den. Se på nedenstående to sæt koder.

# 1 - Uden "Set" Word

Kode:

 Sub Set_Worksheet_Example1 () 'For at vælge arkets regneark ("Resuméark"). Vælg' For at aktivere arkets regneark ("Resuméark"). Aktivér 'For at skjule arkets regneark ("Resuméark"). Visible = xlVeryHidden' To vis arket Arbejdsark ("Resuméark") Visible = xlVisible End Sub 

Hver gang jeg har brugt regnearkobjektet til at henvise til arket "Resuméark". Dette gør koden så lang og kræver meget tid at skrive.

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.