VBA kintamas diapazonas - „Excel VBA“ kintamo diapazono pavyzdžiai

„Excel VBA“ kintamas diapazonas

Kintamieji yra visų didelių VBA projektų širdis ir siela, nes kintamieji yra širdis ir siela, tada jiems priskiriamas duomenų tipas taip pat yra labai svarbus veiksnys. Savo daugelyje ankstesnių straipsnių mes daug kartų aptarėme apie kintamuosius ir jų duomenų tipo svarbą. Vienas iš tokių kintamųjų ir duomenų tipo yra „Range Variable“ šiame specialiame straipsnyje. Mes suteiksime išsamų vadovą apie „Range Variable“ „Excel VBA“.

Kas yra diapazono kintamasis „Excel VBA“?

Kaip ir kiekvienas kitas VBA kintamasis diapazonas, kintamasis taip pat yra kintamasis, tačiau tai yra „Object Variable“, kurį naudojame nustatydami konkretaus langelių diapazono nuorodą.

Kaip ir bet kuris kitas kintamasis, kintamajam galime suteikti bet kokį pavadinimą, tačiau jiems priskiriamas duomenų tipas turėtų būti „Range“. Priskyrus duomenų tipą kintamajam, jis tampa „Object Variable“ ir, skirtingai nuo kito kintamojo, negalime pradėti naudoti kintamojo prieš nustatydami objektų nuorodą objekto kintamųjų atveju.

Taigi, paskelbę kintamąjį, turime naudoti raktinį žodį „SET“, kad nustatytume objekto nuorodą, ty šiuo atveju „Range object“.

Gerai, dabar praktiškai pamatysime keletą „Excel“ VBA diapazono kintamųjų pavyzdžių.

„Excel VBA“ diapazono kintamojo pavyzdžiai

Pvz., Tarkime, kad norite pasirinkti toliau nurodyto ekrano paveikslėlio langelių diapazoną nuo A2 iki B10.

Norėdami pasirinkti šį minimą langelių diapazoną, visa tai turime objektą RANGE, o diapazono objekto viduje - langelio adresą paminėjome dvigubomis kabutėmis.

Kodas:

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

Kai langelių diapazonas bus paminėtas naudojant objektą RANGE, jei įdėsite tašką, pamatytume visas su šio diapazono objektu susijusias savybes ir metodus.

Kodas:

Sub diapazonas_Kintamas_pavyzdys () Diapazonas ("A2: B10"). Pabaigos sub

Kadangi minėtus langelius turime pasirinkti paprastai, „IntelliSense“ sąraše pasirinkite metodą „Pasirinkti“.

Kodas:

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

Paleiskite kodą ir jis pasirinks minėtas langelius.

Tai akivaizdu, ar ne, bet įsivaizduokite scenarijų, kaip naudoti tą patį diapazoną ilgame VBA projekte, tarkime, šimtą kartų, 100 kartų parašius tą patį kodą „Range („ A2: A10 “)“ , bet vietoj to mes deklaruosime kintamąjį ir duomenų tipą priskirsime kaip „Range“ objektą.

Gerai, suteiksime savo vardą kintamajam ir duomenų tipą priskirkime kaip „Diapazonas“.

Išskyrus „Object Variables“, galime pradėti naudoti kintamuosius pagal jų pavadinimą, tačiau „Object Variables“ atveju turime nustatyti nuorodą.

Pavyzdžiui, šiuo atveju mūsų kintamasis (Rng) objektas yra diapazonas, todėl turime nustatyti nuorodą į žodį „Rng“, į kurį ketinama kreiptis. Norėdami nustatyti nuorodą, turime naudoti raktinį žodį „Nustatyti“.

Dabar kintamasis „Rng“ nurodo ląstelių diapazoną nuo A2 iki B10. Užuot kaskart rašę „Range („ A2: B10 “))“ , galime tiesiog parašyti žodį „Rng“.

Kitoje eilutėje paminėkite kintamojo pavadinimą „Rng“ ir įdėkite tašką, kad pamatytumėte magiją.

Kaip matote aukščiau, galime pamatyti visas diapazono objektų savybes ir metodus, panašius į ankstesnį.

Padarykite kintamąjį dinaminį

Dabar mes žinome, kaip nustatyti nuorodą į ląstelių diapazoną, tačiau paminėjus ląstelių diapazoną, jis laikosi tik tų ląstelių. Bet koks langelių pridėjimas ar ištrynimas neturės įtakos toms ląstelėms.

Taigi, suradus naują langelių diapazoną po bet kokio ląstelių pridėjimo ar pašalinimo, kintamasis tampa dinamiškas. Tai įmanoma surandant paskutinį kartą naudotą eilutę ir stulpelį.

Norėdami rasti paskutinį kartą naudotą eilutę ir stulpelį, turime apibrėžti dar du kintamuosius.

Kodas:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Paskutinė eilutė suprantant Dim LC As Long' LC = Paskutinis stulpelis norint suprasti pabaigos sub

Dabar žemiau kodas ras paskutinį kartą naudotą eilutę ir stulpelį prieš nustatydami nuorodą į diapazono objekto kintamąjį.

Kodas:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Paskutinė eilutė suprantant Dim LC As Long' LC = Paskutinis stulpelis suprantant LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count). End (xlToLeft). Stulpelio pabaigos antrinis

Dabar atidarykite raktinio žodžio teiginį „Nustatyti“.

Kodas:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Paskutinė eilutė suprantant Dim LC As Long' LC = Paskutinis stulpelis suprantant LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft). Stulpelių rinkinys 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

Dabar tai nustatys naujausią nuorodą į diapazono objekto kintamąjį „Rng“. Tada paminėkite kintamojo pavadinimą ir naudokite metodą „Pasirinkti“.

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Paskutinė eilutė suprantant Dim LC As Long' LC = Paskutinis stulpelis suprantant LR = Cells (Rows.Count, 1). End (xlUp). Row LC = Cells (1, Columns.Count) .End (xlToLeft). Stulpelių rinkinys Rng = Cells (1, 1). Resize (LR, LC) Rng. Pasirinkite End Sub

Dabar prie savo duomenų pridėsiu dar keletą eilučių.

Pridėjau tris papildomas duomenų eilutes. Jei dabar paleidžiu kodą, jis turėtų pasirinkti naujausią duomenų diapazoną.

Ką reikia atsiminti

  • „Excel VBA“ diapazono kintamasis yra objekto kintamasis.
  • Kai mes naudojame objekto kintamąjį, turime naudoti raktinį žodį „Set“ ir nustatyti objekto nuorodą į kintamąjį.
  • Nenustačius nuorodos, mes negalime naudoti objekto kintamojo.

Įdomios straipsniai...