VBA Set-instructie

Excel VBA Set-instructie

VBA Set is een instructie die wordt gebruikt om een ​​waardesleutel toe te wijzen, zegt een object of een verwijzing naar een variabele, we gebruiken deze functie om de parameter voor een bepaalde variabele te definiëren, bijvoorbeeld als we Set M = A schrijven, wat nu M betekent referentie heeft dezelfde waarden en attributen die vergelijkbaar zijn met wat A heeft.

In VBA is een object een kern van het Excel, want zonder objecten kunnen we niets doen. Objecten zijn werkmap, werkblad en bereik. Als we een variabele declareren, moeten we er een datatype aan toewijzen en kunnen we ook objecten als datatype toewijzen. Om een ​​waarde toe te kennen aan gedeclareerde objectvariabelen, moeten we het woord "SET" gebruiken. Het woord 'Set' wordt gebruikt om te verwijzen naar een nieuw object in VBA, bijvoorbeeld verwijzend naar het specifieke bereik van het specifieke werkblad.

Hoe gebruik ik Excel VBA Set Statement?

U kunt deze VBA Set Statement Template hier downloaden - VBA Set Statement Template

# 1 - Set-instructie met bereikobjectvariabelen

Stel bijvoorbeeld dat u het bereik A1 tot D5 vrij vaak wilt gebruiken. In plaats van de code elke keer als bereik ("A1: D5") te schrijven, kunnen we de variabele als bereik declareren en de bereikreferentie instellen als bereik ("A1: D5")

Stap 1: Declareer de variabele als een Range-object.

Code:

 Subset_voorbeeld ()

Dim MyRange als bereik

Einde Sub

Stap 2: Op het moment dat we het datatype als bereik toewijzen, gebruik je het woord "Set".

Code:

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

Stap 3: Noem nu het bereik.

Code:

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

Stap 4: Nu is de variabele “MyRange” gelijk aan het bereik A1 tot D5. Met behulp van deze variabele hebben we toegang tot alle eigenschappen en methoden van dit bereik.

We kunnen kopiëren, een opmerking toevoegen in Excel en vele andere dingen doen.

Ik heb hier bijvoorbeeld een aantal nummers gemaakt.

Nu ik de variabele gebruik, zal ik de lettergrootte wijzigen in 12.

Code:

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

Dit zal de lettergrootte van het toegewezen bereik wijzigen.

Op deze manier kunnen we veel dingen doen met een bepaald bereik door het woord "Set" te gebruiken.

# 2 - Statement instellen met variabelen in werkbladobjecten

We hebben gezien hoe "set" werkt met een bereikobject in VBA. Het werkt ook precies hetzelfde als het werkbladobject.

Stel dat u 5 werkbladen in uw werkmap heeft en u wilt terug blijven gaan naar dat ene specifieke werkblad, dan kunt u die werkbladnaam instellen op de gedefinieerde objectvariabele.

Kijk bijvoorbeeld naar de onderstaande code.

Code:

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

In de bovenstaande code wordt de variabele "Ws" gedefinieerd als objectvariabele, en in de volgende regel door het woord "Set" te gebruiken, stellen we de variabele in op het werkblad met de naam "Summary Sheet".

Door deze variabele te gebruiken, kunnen we alle dingen doen die eraan zijn gekoppeld. Bekijk de onderstaande twee sets codes.

# 1 - Zonder “Set” -woord

Code:

 Sub Set_Worksheet_Example1 () 'Om het werkblad Worksheets ("Summary Sheet") te selecteren. Selecteer' Om het werkblad Worksheets te activeren ("Summary Sheet"). Activate 'Om de werkbladen te verbergen ("Summary Sheet"). Visible = xlVeryHidden' To maak de werkbladen zichtbaar ("Summary Sheet") Visible = xlVisible End Sub 

Elke keer dat ik het werkbladobject heb gebruikt om naar het blad "Samenvattingsblad" te verwijzen. Dit maakt de code zo lang en kost veel tijd om te typen.

Als onderdeel van de enorme code is het frustrerend om de werkbladnaam elke keer dat u naar het werkblad moet verwijzen op deze manier in te typen.

Bekijk nu het voordeel van het gebruik van het woord Set in Code.

# 2 - Met "Set" Word

Code:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Summary Sheet") 'Om het blad Ws te selecteren. Selecteer' Om het blad Ws.Activate te activeren 'Om het blad te verbergen Ws.Visible = xlVeryHidden' Om het blad Ws zichtbaar te maken .Visible = xlVisible End Sub 

Op het moment dat we de werkbladnaam instellen, kunnen we de variabelenaam zien terwijl we de code invoeren als onderdeel van de lijst.

# 3 - Set-instructie met variabelen voor werkmapobjecten

Het echte voordeel van het woord "Set" in VBA ontstaat wanneer we naar verschillende werkmappen moeten verwijzen.

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.