VBA muutuv vahemik | Muutuva vahemiku näited Exceli VBA-s

Exceli VBA muutuja vahemikus

Muutujad on kõigi suurte VBA-projektide süda ja hing, kuna muutujad on süda ja hing, siis on ka neile omistatud andmetüüp selles osas väga oluline tegur. Oma paljudes varasemates artiklites oleme palju kordi arutanud muutujate ja nende andmetüübi olulisuse üle. Üks selline muutuja ja andmetüüp on „Range Variable”, selles spetsiaalses spetsiaalses artiklis anname täieliku juhendi „Range Variable“ kohta Exceli VBA-s.

Mis on vahemiku muutuja Exceli VBA-s?

Nagu iga teine ​​muutuja VBA muutuja, on muutuja ka muutuja, kuid see on "Object Variable", mida kasutame konkreetse lahtrivahemiku viite määramiseks.

Nagu iga teine ​​muutuja, võime ka sellele muutujale nime anda, kuid neile omistatud andmetüüp peaks olema vahemik. Kui muutujale määratud andmetüübist saab objektimuutuja ja erinevalt teisest muutujast, ei saa me muutujat hakata kasutama enne, kui objektimuutujate korral määrame objektide viite.

Niisiis, pärast muutuja deklareerimist peame sel juhul objektiviite ehk vahemikuobjekti määramiseks kasutama märksõna “SET” .

Ok, nüüd näeme mõningaid näiteid Exceli VBA vahemiku muutujatest.

Vahemiku muutuja näited Exceli VBA-s

Selle VBA muutuva vahemiku Exceli malli saate alla laadida siit - VBA muutuva vahemiku Exceli mall

Oletame näiteks, et soovite valida alloleva ekraanipildi jaoks lahtrivahemiku A2 kuni B10.

Selle mainitud lahtrivahemiku valimiseks, kui meil on objekt RANGE ja vahemiku objekti sees, oleme maininud lahtri aadressi topelt jutumärkides.

Kood:

 Alamvahemik_Muutuja_näide () Vahemik ("A2: B10") Lõpp-alam 

Kui lahtrivahemik on objekti RANGE abil mainitud, näete punkti panemisel kõiki selle vahemikuobjektiga seotud omadusi ja meetodeid.

Kood:

Alamvahemik_Muutuja_näide () Vahemik ("A2: B10"). Lõpeta alam

Kuna peame valima mainitud lahtrid, valige IntelliSense'i loendist meetod „Vali“.

Kood:

 Alamvahemik_Muutuja_näide () Vahemik ("A2: B10"). Valige Lõpeta alam 

Käivitage kood ja see valib mainitud lahtrid.

See on ilmselge, eks ole, aga kujutage ette stsenaariumi, kus pikas VBA projektis kasutatakse sama vahemikku, ütleme sada korda, kui kirjutate 100 korda sama vahemiku („A2: A10”) koodi, võtab see aega deklareerime muutuja ja määrame andmetüübi objektiks "Range".

Ok, anname muutujale oma nime ja määrame andmetüübiks „Range”.

Peale objektimuutujate saame hakata muutujaid kasutama nende nime järgi, kuid objekti muutujate puhul peame määrama viite.

Näiteks on meie muutuja (Rng) objekt vahemik, nii et peame määrama viite, millele sõna "Rng" viitab. Viite määramiseks peame kasutama märksõna "Määra".

Nüüd osutab muutuja “Rng” lahtrivahemikule A2 kuni B10, selle asemel, et kirjutada iga kord “Range (“ A2: B10 ”)))”, kui võime lihtsalt kirjutada sõna “Rng” .

Järgmises reas mainige muutuja nime „Rng” ja pange täpp, et näha võlu.

Nagu näete eespool, näeme kõiki vahemikuobjekti omadusi ja meetodeid nagu eelmine.

Muutke muutuja dünaamiliseks

Nüüd teame, kuidas määrata viide lahtrivahemikule, kuid kui mainime rakkude vahemikku, mis see jääb ainult nendele rakkudele, ei mõjuta rakkude lisamine või kustutamine neid rakke.

Niisiis, uue lahtrivahemiku leidmine pärast rakkude lisamist või kustutamist muudab muutuja olemuse dünaamiliseks. See on võimalik, kui leiate viimati kasutatud rea ja veeru.

Viimati kasutatud rea ja veeru leidmiseks peame määratlema veel kaks muutujat.

Kood:

 Sub Range_Variable_Example () Dim Rng as Range Vahemik Dim LR As Long 'LR = viimane rida Dim LC As Long' mõistmiseks LC = viimane veerg lõpp-Sub mõistmiseks 

Nüüd leiate koodi alt viimati kasutatud rea ja veeru, enne kui määrame viite vahemikuobjekti muutujale.

Kood:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Viimane rida Dim LC As Long'i mõistmiseks' LC = Viimane veerg LR = Cells (Rows.Count, 1) mõistmiseks. End (xlUp). Rida LC = Cells (1, Columns.Count). End (xlToLeft). Veeru lõpu alam 

Nüüd avage märksõna lause „Määra”.

Kood:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Viimane rida Dim LC As Long'i mõistmiseks' LC = Viimane veerg LR = Cells (Rows.Count, 1) mõistmiseks. End (xlUp). Rida LC = Cells (1, Columns.Count) .End (xlToLeft). Veergude komplekt Rng = End Sub 

Erinevalt eelmisest meetodist kasutame seekord VBA CELLS omadusi.

Kood:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Viimane rida Dim LC As Long'i mõistmiseks' LC = Viimane veerg LR = Cells mõistmiseks (Rows.Count, 1) .End (xlUp) .Rea LC = Cells (1, Columns.Count) .End (xlToLeft). Veergude komplekt Rng = lahtrid (1, 1) End Sub 

Olen maininud lahtrid (1,1), st see viitab aktiivse lehe esimesele lahtrile, kuid meil on vaja andmevahemiku viidet, nii et kasutage omadust "RESIZE" ja mainige muutujaid "viimati kasutatud rida ja veerg".

Kood:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Viimane rida Dim LC As Long'i mõistmiseks' LC = Viimane veerg LR = Cells mõistmiseks (Rows.Count, 1) .End (xlUp) .Rea LC = Cells (1, Columns.Count) .End (xlToLeft). Veergude komplekt Rng = lahtrid (1, 1). Suuruse (LR, LC) lõpu alamosa 

Nüüd seab see viimase viite vahemikuobjekti muutujale “Rng”. Seejärel mainige muutuja nime ja kasutage meetodit „Vali“.

 Sub Range_Variable_Example () Dim Rng as Range Dim LR As Long 'LR = Viimane rida Dim LC nii pikaks mõistmiseks' LC = Viimane veerg LR = Cells mõistmiseks (Rows.Count, 1) .End (xlUp) .Rea LC = Cells (1, Columns.Count) .End (xlToLeft). Veergude komplekt Rng = lahtrid (1, 1). Suuruse (LR, LC) Rng. Valige End Sub 

Nüüd lisan oma andmetele veel paar rida.

Olen lisanud kolm täiendavat andmerida, kui käivitan koodi nüüd, peaks see valima uusima andmevahemiku.

Asjad, mida meeles pidada

  • Exceli VBA vahemiku muutuja on objekti muutuja.
  • Alati, kui kasutame objekti muutujat, peame kasutama märksõna „Set” ja määrama muutujale objekti viite.
  • Ilma viite määramiseta ei saa me objekti muutujat kasutada.

$config[zx-auto] not found$config[zx-overlay] not found