VBA Set Statement - Hvordan tilordne verdier til objektvariabler?

Innholdsfortegnelse

Uttalelse om Excel VBA-sett

VBA Set er en setning som brukes til å tilordne en hvilken som helst verdinøkkel som sier et objekt eller en referanse til en variabel, vi bruker denne funksjonen til å definere parameteren for en bestemt variabel, for eksempel hvis vi skriver Set M = A som nå betyr M referanse har de samme verdiene og attributtene som det A har.

I VBA er et objekt en kjerne i utmerket, for uten objekter kan vi ikke gjøre noe. Objekter er arbeidsbok, regneark og rekkevidde. Når vi deklarerer en variabel, må vi tilordne en datatype til den, og vi kan også tildele objekter som datatyper. For å tilordne en verdi til deklarerte objektvariabler, må vi bruke ordet "SET". Ordet "Set" brukes til å referere til et nytt objekt i VBA, for eksempel med henvisning til det spesielle området til det aktuelle regnearket.

Hvordan bruker jeg Excel VBA Set Statement?

# 1 - Sett uttalelse med variabel for rekkeviddeobjekter

Anta for eksempel at du vil bruke området A1 til D5 ganske ofte. I stedet for å skrive koden som Område (“A1: D5”) hver gang, kan vi erklære variabelen som område og sette rekkevidde som Område (“A1: D5”)

Trinn 1: Deklarer variabelen som et Range-objekt.

Kode:

Undersett_eksempel ()

Dim MyRange As Range

Slutt Sub

Trinn 2: I det øyeblikket vi tilordner datatypen som rekkevidde, bruk ordet "Sett".

Kode:

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

Trinn 3: Nevn nå rekkevidden.

Kode:

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

Trinn 4: Nå er variabelen “MyRange” lik området A1 til D5. Ved å bruke denne variabelen kan vi få tilgang til alle egenskapene og metodene i dette området.

Vi kan kopiere, legge til en kommentar i excel, og gjøre mange andre ting.

For eksempel, formål, har jeg opprettet noen tall her.

Nå bruker jeg variabelen, vil jeg endre skriftstørrelsen til 12.

Kode:

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

Dette vil endre skriftstørrelsen til det tildelte området.

Slik kan vi gjøre mange ting med et bestemt område ved å bruke ordet "Set".

# 2 - Sett uttalelse med regnearkobjektvariabler

Vi har sett hvordan “sett” fungerer med et rekkeviddeobjekt i VBA. Det fungerer nøyaktig det samme som regnearkobjektet også.

La oss si at du har 5 regneark i arbeidsboken din, og at du vil fortsette å gå tilbake til det ene regnearket. Du kan angi navnet på regnearket til den definerte objektvariabelen.

Se for eksempel på koden nedenfor.

Kode:

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

I ovennevnte kode definerte variabelen "Ws" som en objektvariabel, og i neste linje, ved å bruke ordet "Set", satte vi variabelen til regnearket med navnet "Sammendragark".

Nå ved å bruke denne variabelen, kan vi gjøre alle tingene som er knyttet til den. Ta en titt på nedenstående to sett med kode.

# 1 - Uten "Set" Word

Kode:

Sub Set_Worksheet_Example1 () 'For å velge arkark ("Sammendragark"). Velg "For å aktivere arkark (" Sammendragark "). Aktiver" For å skjule arkark ("Sammendragark"). Visible = xlVeryHidden' To vis arket Arbeidsark ("Sammendrag"). Synlig = xlVisible End Sub

Hver gang jeg har brukt regnearkobjektet for å referere til arket "Sammendrag", gjør dette koden så lang og krever mye tid å skrive.

Som en del av den enorme koden er det frustrerende å skrive inn regnearknavnet slik hver gang du trenger å referere til regnearket.

Ta en titt på fordelen med å bruke ordet Set in Code.

# 2 - Med "Set" Word

Kode:

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 Som Workbook Dim Wb2 Som Workbook Set Wb1 = Workbooks ("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks ("Sales Summary File 2019.xlsx") End Sub

Nå er variabel Wb1 lik arbeidsboken med navnet “Salgsoppsummeringsfil 2018.xlsx”, og variabel Wb2 er lik arbeidsboken med navnet “Salgsoppsummeringsfil 2019.xlsx”.

Ved å bruke denne variabelen kan vi faktisk få tilgang til alle egenskapene og metodene som er knyttet til arbeidsboken.

Vi kan forkorte koden som nedenfor.

Uten å bruke Set Keyword for å aktivere arbeidsboken:

Arbeidsbøker ("Salgsoppsummeringsfil 2018.xlsx"). Aktiver

Ved å bruke Set Keyword for å aktivere arbeidsboken:

Wb1.Aktiver

Dette gjør skrivingen av kodelottet enklere, og når arbeidsboknavnet er angitt, er det en bekymring for skrivefeil i arbeidsboknavnene.

Interessante artikler...