Uttalande om VBA-uppsättning

Uttalande om Excel VBA-set

VBA Set är ett uttalande som används för att tilldela valfri värdetangent som säger ett objekt eller en referens till en variabel, vi använder den här funktionen för att definiera parametern för en viss variabel, till exempel om vi skriver Set M = A vilket betyder nu M referens har samma värden och attribut som A har.

I VBA är ett objekt en kärna i excel, för utan objekt kan vi inte göra någonting. Objekten är arbetsbok, kalkylblad och intervall. När vi deklarerar en variabel måste vi tilldela en datatyp till den och vi kan också tilldela objekt som datatyper. För att tilldela ett värde till deklarerade objektvariabler måste vi använda ordet “SET”. Ordet "Set" används för att referera till ett nytt objekt i VBA, till exempel med hänvisning till det specifika området för det specifika kalkylbladet.

Hur använder jag Excel VBA Set Statement?

Du kan ladda ner denna VBA Set Statement Mall här - VBA Set Statement Mall

# 1 - Ställ in uttalande med variabeln för objektobjekt

Antag till exempel att du vill använda intervallet A1 till D5 ganska ofta. Istället för att skriva koden som Range (“A1: D5”) varje gång kan vi deklarera variabeln som intervall och ställa in områdesreferensen som Range (“A1: D5”)

Steg 1: Förklara variabeln som ett Range-objekt.

Koda:

 Sub Set_Exempel ()

Dim MyRange As Range

Avsluta sub

Steg 2: När vi tilldelar datatypen som intervall använder du ordet "Set".

Koda:

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

Steg 3: Nämn nu intervallet.

Koda:

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

Steg 4: Nu är variabeln “MyRange” lika med intervallet A1 till D5. Med hjälp av denna variabel kan vi komma åt alla egenskaper och metoder i detta intervall.

Vi kan kopiera, lägga till en kommentar i excel och göra många andra saker.

Till exempel har jag skapat några nummer här.

Nu använder jag variabeln och ändrar teckensnittstorleken till 12.

Koda:

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

Detta ändrar teckenstorleken för det tilldelade intervallet.

Så här kan vi göra många saker med ett visst intervall genom att använda ordet "Set".

# 2 - Ställ in uttalande med kalkylbladets objektvariabler

Vi har sett hur "set" fungerar med ett intervallobjekt i VBA. Det fungerar exakt samma som kalkylbladets objekt också.

Låt oss säga att du har 5 kalkylblad i din arbetsbok och att du vill fortsätta att gå tillbaka till ett visst kalkylblad, du kan ställa in kalkylbladets namn till den definierade objektvariabeln.

Titta till exempel på koden nedan.

Koda:

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

I ovanstående kod definierades variabeln "Ws" som objektvariabel, och i nästa rad med ordet "Set" ställer vi in ​​variabeln till kalkylbladet "Sammanfattningsblad".

Nu genom att använda denna variabel kan vi göra alla saker som är associerade med den. Ta en titt på nedanstående två uppsättningar kod.

# 1 - Utan "Set" Word

Koda:

 Sub Set_Worksheet_Example1 () 'För att välja arkets kalkylblad ("Sammanfattningsblad"). Välj "För att aktivera kalkylbladet (" Sammanfattningsblad "). Aktivera" för att dölja arkets kalkylblad ("Sammanfattningsblad"). Visible = xlVeryHidden' To ta bort arket Arbetsblad ("Sammanfattningsblad"). Synlig = xlVisible End Sub 

Varje gång jag har använt kalkylarkobjektet för att hänvisa till arket ”Sammanfattningsblad”. Detta gör koden så lång och kräver mycket tid att skriva.

Som en del av den enorma koden är det frustrerande att skriva kalkylbladets namn så här varje gång du behöver referera till kalkylbladet.

Ta nu en titt på fördelen med att använda ordet Set in Code.

# 2 - Med "Set" Word

Koda:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Summary Sheet") 'För att välja arket Ws. Välj' För att aktivera arket Ws.Activate 'För att dölja arket Ws.Visible = xlVeryHidden' För att visa arket Ws .Visible = xlVisible End Sub 

I det ögonblick vi ställer in kalkylbladets namn kan vi se variabelnamnet när vi anger koden som en del av listan.

# 3 - Ställ in uttalande med arbetsvariabelvariabler

Den verkliga fördelen med ordet "Set" i VBA uppstår när vi behöver referera till olika arbetsböcker.

När vi arbetar med olika arbetsböcker är det så svårt att skriva in arbetsbokens fullständiga namn tillsammans med dess filtillägg.

Antag att du har två olika arbetsböcker med namnet "Försäljningsöversiktsfil 2018.xlsx" och "Försäljningsöversiktsfil 2019.xlsx". Vi kan ställa in de två arbetsböckerna enligt koden nedan.

Koda:

 Sub Set_Workbook_Example1 () Dim Wb1 Som Workbook Dim Wb2 Som Workbook Set Wb1 = Workbooks ("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks ("Sales Summary File 2019.xlsx") End Sub 

Nu är variabel Wb1 lika med arbetsboken med namnet “Försäljningsöversiktsfil 2018.xlsx” och variabel Wb2 är lika med arbetsboken med namnet “Försäljningsöversiktsfil 2019.xlsx”.

Med den här variabeln kan vi faktiskt komma åt alla egenskaper och metoder som är associerade med arbetsboken.

Vi kan förkorta koden enligt nedan.

Utan att använda Set Keyword för att aktivera arbetsboken:

Arbetsböcker ("Försäljningsöversiktsfil 2018.xlsx"). Aktivera

Använd Set Set för att aktivera arbetsboken:

Wb1.Aktivera

Detta gör skrivningen av kodpartiet enklare och även när arbetsbokens namn har ställts in är det en oro för skrivfel i arbetsbokens namn.