Spremenljivka Excel VBA v obsegu
Spremenljivke so srce in duša vseh velikih projektov VBA, saj so spremenljivke srce in duša, zato je vrsta podatkov, ki jim jih dodelimo, prav tako zelo pomemben dejavnik. V številnih prejšnjih člankih smo velikokrat razpravljali o spremenljivkah in njihovem pomenu podatkovnega tipa. Ena od takih spremenljivk in podatkovnih vrst je v tem posebnem članku "Spremenljivka obsega". Dali bomo popoln vodnik o “Spremenljivki obsega” v excelu VBA.
Kaj je spremenljivka obsega v Excelu VBA?
Kot vsaka druga spremenljivka Obseg v VBA je tudi spremenljivka spremenljivka, vendar gre za "Object Variable", ki jo uporabljamo za nastavitev sklica na določen obseg celic.
Kot kateri koli drugi spremenljivki lahko spremenljivki damo katero koli ime, vendar mora biti podatkovni tip, ki jim ga dodelimo, »Obseg«. Ko je spremenljivki dodeljen podatkovni tip, postane »Object Variable« in za razliko od druge spremenljivke spremenljivke ne moremo začeti uporabljati, preden v primeru spremenljivk predmeta nastavimo referenco na predmete.
Torej, potem ko spremenljivko razglasimo, moramo uporabiti ključno besedo “SET” za nastavitev referenčne vrednosti predmeta, v tem primeru predmeta Range.
Ok, zdaj bomo praktično videli nekaj primerov spremenljivk obsega VBA.

Primeri spremenljivke obsega v Excelu VBA
Denimo, da želite za spodnjo sliko zaslona izbrati obseg celic od A2 do B10.

Za izbiro tega omenjenega obsega celic, vse te, medtem ko imamo RANGE objekt, znotraj predmeta obsega pa smo v dvojnih narekovajih omenjali naslov celice.
Koda:
Sub Range_Variable_Example () Range ("A2: B10") End Sub

Ko je obseg celic omenjen z uporabo predmeta RANGE, če postavite piko, bomo videli vse lastnosti in metode, povezane s tem objektom obsega.
Koda:
Sub Range_Variable_Example () Območje ("A2: B10"). Končaj pod

Ker moramo omenjene celice izbrati preprosto, na seznamu IntelliSense izberite metodo »Select«.
Koda:
Sub Range_Variable_Example () Range ("A2: B10"). Izberite End Sub

Zaženite kodo in izbrala bo omenjene celice.

To je očitno, kajne, ampak predstavljajte si, da bo scenarij uporabe istega obsega v dolgem projektu VBA, recimo stokrat, 100-krat pisanje iste kode "Obseg (" A2: A10 ")" trajalo nekaj časa, namesto tega bomo spremenljivko razglasili in podatkovni tip dodelili kot objekt »Obseg«.
Ok, spremenljivki damo svoje ime in določimo vrsto podatkov kot »Obseg«.

Razen “Object Variables” lahko spremenljivke začnemo uporabljati po njihovem imenu, v primeru “Object Variables” pa moramo nastaviti referenco.
Na primer, v tem primeru je naš objekt spremenljivke (Rng) obseg, zato moramo nastaviti sklic na besedo, na katero se bo skliceval Rng. Za nastavitev sklica moramo uporabiti ključno besedo »Set«.

Zdaj se spremenljivka "Rng" nanaša na obseg celic od A2 do B10. Namesto da vsakič napišemo “Range (“ A2: B10 ”)) , lahko preprosto napišemo besedo “ Rng ”.
V naslednji vrstici omenite ime spremenljivke "Rng" in piko, da vidite čarobnost.

Kot lahko vidite zgoraj, lahko vidimo vse lastnosti in metode predmetov obsega, kot je bil prejšnji.
Naj bo spremenljivka dinamična
Zdaj vemo, kako nastaviti sklic na obseg celic, a ko omenimo obseg celic, se drži le teh celic. Vsako dodajanje ali brisanje celic ne bo vplivalo na te celice.
Torej, iskanje novega obsega celic po vsakem dodajanju ali brisanju celic naredi spremenljivko dinamično. To je mogoče z iskanjem zadnje uporabljene vrstice in stolpca.
Za iskanje zadnje uporabljene vrstice in stolpca moramo definirati še dve spremenljivki.
Koda:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding End Sub

Now below code will find the last used row & column before we set the reference to a range object variable.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column End Sub

Now open the “Set” keyword statement.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = End Sub

Unlike the previous method, we use VBA CELLS properties this time.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1) End Sub

I have mentioned Cells(1,1), i.e., this refers to the first cell in the active sheet, but we need the data range reference, so use the “RESIZE” property and mention “last used row & column” variables.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) End Sub

Zdaj bo to postavilo najnovejši sklic na spremenljivko predmeta obsega »Rng«. Nato navedite ime spremenljivke in uporabite metodo »Select«.
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Zadnja vrstica za razumevanje Dim LC As Long' LC = Zadnji stolpec za razumevanje LR = Celice (Vrstice. Število, 1). Konec (xlUp). Vrstica LC = Celice (1, Stolpci. Število). Konec (xlToLeft). Nastavitev stolpca Rng = Celice (1, 1). Rensize (LR, LC) Rng. Izberite End Sub
Zdaj bom svojim podatkom dodal še nekaj vrstic.

Dodal sem tri dodatne vrstice podatkov. Če zdaj zaženem kodo, mora izbrati najnovejši obseg podatkov.

Stvari, ki si jih je treba zapomniti
- Spremenljivka obsega v excelu VBA je predmetna spremenljivka.
- Kadar koli uporabimo objektno spremenljivko, moramo uporabiti ključno besedo “Set” in spremenljivko nastaviti na sklic predmeta.
- Brez nastavitve sklica ne moremo uporabiti objektne spremenljivke.