Excel VBA varijabla u rasponu
Varijable su srce i duša bilo kojeg velikog VBA projekta, jer su varijable srce i duša, tada je vrsta podataka koju im dodjeljujemo također vrlo važan čimbenik. U našim mnogim ranijim člancima puno smo puta raspravljali o varijablama i njihovoj važnosti tipa podataka. Jedna od takvih varijabli i tipa podataka je „Varijabla raspona“ u ovom posebnom posvećenom članku. Dat ćemo cjelovit vodič o “Varijabli raspona” u excelu VBA.
Što je varijabla raspona u programu Excel VBA?
Kao i svaka druga varijabla Raspon u VBA, varijabla je također varijabla, ali to je "Object Variable" koju koristimo za postavljanje reference određenog raspona stanica.
Kao i bilo kojoj drugoj varijabli, varijabli možemo dati bilo koji naziv, ali tip podataka koji im dodijelimo trebao bi biti "Raspon". Jednom kada je tip podataka dodijeljen varijabli, ona postaje "Object Variable", i za razliku od druge varijable, ne možemo početi koristiti varijablu prije nego što postavimo referencu na objekte u slučaju objektnih varijabli.
Dakle, nakon što deklariramo varijablu, trebamo upotrijebiti ključnu riječ “SET” da postavimo referencu na objekt, tj. Objekt Range u ovom slučaju.
Ok, sada ćemo praktično vidjeti neke od primjera izvrsnih varijabli raspona VBA.

Primjeri varijable raspona u programu Excel VBA
Na primjer, pretpostavimo da želite odabrati raspon ćelija od A2 do B10 za donju sliku zaslona.

Da bismo odabrali spomenuti raspon stanica, sve to dok imamo RANGE objekt, a unutar objekta range, spomenuli smo adresu ćelije u dvostrukim navodnicima.
Kodirati:
Sub Range_Variable_Example () Raspon ("A2: B10") Kraj Sub

Jednom kada se opseg ćelija spomene pomoću RANGE objekta, ako stavite točku, vidjet ćemo sva svojstva i metode povezane s ovim objektom raspona.
Kodirati:
Sub Range_Variable_Example () Raspon ("A2: B10"). Kraj pod

Budući da spomenute stanice moramo odabrati jednostavno, odaberite metodu "Odaberi" s popisa IntelliSense.
Kodirati:
Sub Range_Variable_Example () Raspon ("A2: B10"). Odaberite End Sub

Pokrenite kôd i on će odabrati spomenute ćelije.

To je očito, zar ne, ali zamislite da će scenarij korištenja istog dometa u dugom VBA projektu, recimo stotinu puta, pisati isti kôd "Raspon (" A2: A10 ")" 100 puta potrajati, ali umjesto toga, deklarirat ćemo varijablu i tip podataka dodijeliti kao objekt "Raspon".
Ok, dajmo vlastito ime varijabli i dodijelimo vrstu podataka kao "Raspon".

Osim "Object Variables", varijable možemo početi koristiti prema njihovom imenu, ali u slučaju "Object Variables" moramo postaviti referencu.
Na primjer, u ovom je slučaju objekt naše varijable (Rng) raspon, pa moramo postaviti referencu na riječ "Rng" na koju ćemo se pozivati. Da bismo postavili referencu, trebamo upotrijebiti ključnu riječ "Set".

Sada se varijabla "Rng" odnosi na raspon stanica od A2 do B10. Umjesto da svaki put napišemo "Raspon (" A2: B10 ")) , jednostavno možemo napisati riječ " Rng ".
U sljedećem retku spomenite naziv varijable "Rng" i stavite točku da biste vidjeli čaroliju.

Kao što vidite gore, možemo vidjeti sva svojstva i metode objekata raspona poput prethodnog.
Učinite varijabilnu dinamičkom
Sada znamo postaviti referencu na raspon stanica, ali nakon što spomenemo raspon stanica, zadržava se samo na tim stanicama. Bilo kakvo dodavanje ili brisanje stanica neće utjecati na te stanice.
Dakle, pronalazak novog raspona stanica nakon bilo kojeg dodavanja ili brisanja stanica čini varijablu dinamičnom u prirodi. To je moguće pronalaženjem posljednjeg korištenog retka i stupca.
Da bismo pronašli zadnji korišteni redak i stupac, moramo definirati još dvije varijable.
Kodirati:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Zadnji red za razumijevanje Dim LC As Long' LC = Posljednji stupac za razumijevanje krajnjeg Sub

Sada će donji kod pronaći zadnji upotrijebljeni redak i stupac prije nego što postavimo referencu na varijablu objekta raspona.
Kodirati:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Zadnji red za razumijevanje Dim LC As Long' LC = Zadnji stupac za razumijevanje LR = Stanice (Rows.Count, 1) .End (xlUp) .Red LC = Cells (1, Columns.Count) .End (xlToLeft). Sub. End Sub

Sada otvorite izjavu ključne riječi "Set".
Kodirati:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Zadnji red za razumijevanje Dim LC As Long' LC = Zadnji stupac za razumijevanje LR = Stanice (Rows.Count, 1) .End (xlUp) .Red LC = Cells (1, Columns.Count) .End (xlToLeft). Set stupca 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

Sada će ovo postaviti najnoviju referencu na varijablu objekta raspona "Rng". Dalje, spomenite naziv varijable i upotrijebite metodu "Select".
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Zadnji red za razumijevanje Dim LC As Long' LC = Zadnji stupac za razumijevanje LR = Stanice (Rows.Count, 1) .End (xlUp) .Red LC = Cells (1, Columns.Count) .End (xlToLeft). Set stupca Rng = Cells (1, 1) .Resize (LR, LC) Rng. Odaberite End Sub
Sad ću svojim podacima dodati još nekoliko redaka.

Dodao sam tri dodatne linije podataka. Ako sada pokrenem kôd, trebao bi odabrati najnoviji raspon podataka.

Stvari koje treba zapamtiti
- Varijabla raspona u excel VBA je objektna varijabla.
- Kad god koristimo objektnu varijablu, trebamo upotrijebiti ključnu riječ “Set” i postaviti referencu objekta na varijablu.
- Bez postavljanja reference ne možemo koristiti objektnu varijablu.