Gama variabilă VBA - Exemple de domeniu variabil în Excel VBA

Excel VBA Variabilă în interval

Variabilele sunt inima și sufletul oricăror proiecte VBA mari, deoarece variabilele sunt inima și sufletul, atunci tipul de date pe care le atribuim acestora este, de asemenea, un factor foarte important în această privință. În numeroasele noastre articole anterioare, am discutat de multe ori despre variabile și importanța tipului lor de date. O astfel de variabilă și tip de date este „Range Variable” din acest articol special dedicat. Vă vom oferi un ghid complet despre „Range Variable” în Excel VBA.

Ce este variabila de interval în Excel VBA?

Ca orice altă variabilă Gama din VBA, variabila este, de asemenea, o variabilă, dar este o „Variabilă de obiect” pe care o folosim pentru a seta referința intervalului specific de celule.

La fel ca orice altă variabilă, putem da orice nume variabilei, dar tipul de date pe care le atribuim ar trebui să fie un „Range”. Odată ce tipul de date este atribuit variabilei, aceasta devine o „Variabilă de obiect” și, spre deosebire de o altă variabilă, nu putem începe să folosim variabila înainte de a seta referința obiectelor în cazul variabilelor obiect.

Deci, după ce declarăm variabila, trebuie să folosim cuvântul cheie „SET” pentru a seta referința obiectului, adică obiectul Range în acest caz.

Ok, acum vom vedea câteva dintre exemplele variabilelor de gamă VBA excel practic.

Exemple de variabilă de interval în Excel VBA

De exemplu, să presupunem că doriți să selectați intervalul de celule de la A2 la B10 pentru imaginea de mai jos.

Pentru a selecta acest interval de celule menționat, toate acestea în timp ce avem obiect RANGE, iar în interiorul obiectului range, am menționat adresa celulei în ghilimele duble.

Cod:

Sub Range_Variable_Example () Range ("A2: B10") End Sub

Odată ce gama de celule este menționată folosind obiectul RANGE, dacă puneți un punct, am vedea toate proprietățile și metodele asociate cu acest obiect range.

Cod:

Sub Range_Variable_Example () Range ("A2: B10"). Sfârșitul Sub

Deoarece trebuie să selectăm celulele menționate simplu, alegeți metoda „Selectați” din lista IntelliSense.

Cod:

Sub Range_Variable_Example () Range ("A2: B10"). Selectați End Sub

Rulați codul și acesta va selecta celulele menționate.

Acest lucru este evident, nu-i așa, dar imaginați-vă scenariul utilizării aceluiași interval în proiectul lung VBA, să zicem de sute de ori, scriind același cod de „Range („ A2: A10 ”)” de 100 de ori va dura ceva timp, dar în schimb vom declara variabila și vom atribui tipul de date ca obiect „Range”.

Bine, să acordăm propriul nume unei variabile și să atribuim tipul de date ca „Interval”.

În afară de „Variabile de obiect”, putem începe să folosim variabilele după numele lor, dar în cazul „Variabile de obiect”, trebuie să setăm referința.

De exemplu, în acest caz, obiectul nostru variabil (Rng) este un interval, deci trebuie să setăm referința la cuvântul „Rng” la care se va referi. Pentru a seta referința, trebuie să folosim cuvântul cheie „Set”.

Acum variabila „Rng” se referă la intervalul de celule de la A2 la B10. În loc să scriem „Range („ A2: B10 ”))” de fiecare dată, putem scrie pur și simplu cuvântul „Rng”.

În rândul următor, menționați numele variabilei „Rng” și puneți un punct pentru a vedea magia.

După cum puteți vedea mai sus, putem vedea toate proprietățile și metodele obiectelor de gamă, cum ar fi cea anterioară.

Faceți dinamica variabilă

Acum știm cum să setăm referința la gama de celule, dar odată ce menționăm gama de celule, aceasta se menține doar la acele celule. Orice adăugare sau ștergere de celule nu va afecta aceste celule.

Deci, găsirea noii game de celule după orice adăugare sau ștergere de celule face ca variabila să fie dinamică în natură. Acest lucru este posibil găsind ultimul rând și coloană utilizate.

Pentru a găsi ultimul rând și coloană utilizate, trebuie să definim încă două variabile.

Cod:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ultimul rând pentru înțelegerea Dim LC As Long' LC = Ultima coloană pentru înțelegerea End Sub

Acum, sub cod, vom găsi ultimul rând și coloană utilizate înainte de a seta referința la o variabilă obiect de interval.

Cod:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ultimul rând pentru înțelegerea Dim LC As Long' LC = Ultima coloană pentru înțelegerea LR = Celule (Rows.Count, 1). End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column End Sub

Acum deschideți declarația cuvântului cheie „Set”.

Cod:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ultimul rând pentru înțelegerea Dim LC As Long' LC = Ultima coloană pentru înțelegerea LR = Celule (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

Acum, aceasta va seta cea mai recentă referință la variabila obiectului interval „Rng”. Apoi, menționați numele variabilei și utilizați metoda „Selectați”.

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ultimul rând pentru înțelegerea Dim LC As Long' LC = Ultima coloană pentru înțelegerea LR = Celule (Rows.Count, 1). End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) Rng. Select End Sub

Acum voi adăuga câteva linii la datele mele.

Am adăugat trei linii suplimentare de date. Dacă rulez codul acum, ar trebui să selecteze cel mai recent interval de date.

Lucruri de amintit

  • Variabila de interval în Excel VBA este o variabilă obiect.
  • Ori de câte ori folosim variabila obiect, trebuie să folosim cuvântul cheie „Set” și să setăm referința obiectului la variabilă.
  • Fără a seta referința, nu putem folosi o variabilă obiect.

Articole interesante...