Excel VBA mainīgais diapazonā
Mainīgie ir visu lielo VBA projektu sirds un dvēsele, jo mainīgie ir sirds un dvēsele, tāpēc šajā ziņā ļoti svarīgs faktors ir arī tiem piešķirtais datu tips. Savos daudzajos iepriekšējos rakstos mēs esam daudzkārt apsprieduši mainīgos un to datu veida nozīmi. Šajā īpašajā rakstā viens šāds mainīgais un datu tips ir “Range Variable”. Mēs sniegsim pilnīgu ceļvedi par “Range Variable” programmā Excel VBA.
Kas ir diapazona mainīgais programmā Excel VBA?
Tāpat kā visi citi mainīgie VBA diapazoni, arī mainīgais ir mainīgais, taču tas ir “Object Variable”, ko mēs izmantojam, lai iestatītu atsauci uz konkrēto šūnu diapazonu.
Tāpat kā jebkurš cits mainīgais, arī mainīgajam varam piešķirt jebkuru nosaukumu, taču tiem piešķiramajam datu tipam jābūt diapazonam. Kad datu tips ir piešķirts mainīgajam, tas kļūst par “Object Variable”, un atšķirībā no cita mainīgā mēs nevaram sākt izmantot mainīgo, pirms objektu mainīgo gadījumā esam iestatījuši objektu atsauci.
Tātad, pēc mainīgā deklarēšanas mums ir jāizmanto atslēgvārds “SET”, lai iestatītu objekta atsauci, ti, šajā gadījumā diapazona objektu.
Labi, tagad mēs praktiski redzēsim dažus Excel VBA diapazona mainīgo piemērus.

Diapazona mainīgā piemēri programmā Excel VBA
Piemēram, pieņemsim, ka vēlaties atlasīt šūnu diapazonu no A2 līdz B10 zemāk redzamajam ekrānuzņēmuma attēlam.

Lai atlasītu šo pieminēto šūnu diapazonu, visi šie apstākļi, kamēr mums ir objekts RANGE, un diapazona objekta iekšpusē mēs esam minējuši šūnu adresi divkāršās pēdiņās.
Kods:
Apakš diapazons_ Mainīgais_Piemērs () Diapazons ("A2: B10") Beigu apakšgrupa

Kad šūnu diapazons ir pieminēts, izmantojot objektu RANGE, ja ievietojat punktu, mēs redzētu visas īpašības un metodes, kas saistītas ar šo diapazona objektu.
Kods:
Apakš diapazona mainīgais_piemērs () diapazons ("A2: B10"). Beigu apakšnodaļa

Tā kā minētās šūnas mums jāizvēlas vienkārši, IntelliSense sarakstā izvēlieties metodi “Atlasīt”.
Kods:
Apakš diapazons_ Mainīgais_Piemērs () Diapazons ("A2: B10"). Atlasiet Beigu beigas

Palaidiet kodu, un tas atlasīs minētās šūnas.

Tas ir acīmredzami, vai ne, bet iedomājieties scenāriju, kā izmantot to pašu diapazonu garajā VBA projektā, teiksim simts reizes, 100 reizes ierakstot vienu un to pašu kodu “Range (“ A2: A10 ”)” , bet tā vietā mēs deklarēsim mainīgo un piešķirsim datu tipu kā “Range” objektu.
Labi, piešķiram mainīgajam savu vārdu un datu tipu piešķiram kā “Diapazons”.

Izņemot “Object Variables”, mēs varam sākt izmantot mainīgos pēc to nosaukuma, bet “Object Variables” gadījumā mums ir jāiestata atsauce.
Piemēram, šajā gadījumā mūsu mainīgā (Rng) objekts ir diapazons, tāpēc mums ir jāiestata atsauce uz vārdu “Rng”, uz kuru mēs atsaucamies. Lai iestatītu atsauci, mums jāizmanto atslēgvārds “Iestatīt”.

Tagad mainīgais “Rng” attiecas uz šūnu diapazonu no A2 līdz B10. Tā vietā, lai katru reizi rakstītu “Range (“ A2: B10 ”))” , mēs varam vienkārši uzrakstīt vārdu “Rng”.
Nākamajā rindā miniet mainīgā nosaukumu “Rng” un ielieciet punktu, lai redzētu burvību.

Kā redzat iepriekš, mēs varam redzēt visas diapazona objektu īpašības un metodes, piemēram, iepriekšējo.
Izveidojiet mainīgo dinamisko
Tagad mēs zinām, kā iestatīt atsauci uz šūnu diapazonu, bet, kad mēs pieminēsim šūnu diapazonu, tas paliek tikai šīm šūnām. Šūnu pievienošana vai dzēšana neietekmēs šīs šūnas.
Tātad jaunā šūnu diapazona atrašana pēc šūnu pievienošanas vai dzēšanas padara mainīgo dinamisku. Tas ir iespējams, atrodot pēdējo izmantoto rindu un kolonnu.
Lai atrastu pēdējo izmantoto rindu un kolonnu, mums jādefinē vēl divi mainīgie.
Kods:
Apakšdiapazons_Maināms_piemērs () Dim Rng As Range Dim LR As Long 'LR = Pēdējā rinda, lai saprastu, cik Dim LC ir tikpat gara' LC = Pēdējā kolonna, lai saprastu beigu apakšdaļu

Tagad zem koda atradīsit pēdējo izmantoto rindu un kolonnu, pirms mēs iestatīsim atsauci uz diapazona objekta mainīgo.
Kods:
Apakšdiapazons_Maināms_piemērs () Dim Rng As Range Dim LR As Long 'LR = Pēdējā rinda, lai saprastu Dim LC As Long' LC = Pēdējā kolonna, lai saprastu LR = Cells (Rows.Count, 1) .End (xlUp) .Rinda LC = Cells (1, Columns.Count) .End (xlToLeft). Kolonnas beigu apakšsadaļa

Tagad atveriet atslēgvārda paziņojumu “Iestatīt”.
Kods:
Apakšdiapazona_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Pēdējā rinda, lai saprastu Dim LC As Long' LC = Pēdējā kolonna, lai saprastu LR = Cells (Rows.Count, 1) .End (xlUp) .Rinda LC = Cells (1, Columns.Count) .End (xlToLeft). Kolonnu kopa 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

Tagad tas iestatīs jaunāko atsauci uz diapazona objekta mainīgo “Rng”. Pēc tam pieminiet mainīgā nosaukumu un izmantojiet metodi “Atlasīt”.
Apakšdiapazona_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Pēdējā rinda, lai saprastu Dim LC As Long' LC = Pēdējā kolonna, lai saprastu LR = Cells (Rows.Count, 1) .End (xlUp) .Rinda LC = Cells (1, Columns.Count) .End (xlToLeft). Kolonnu kopa Rng = Cells (1, 1). Resize (LR, LC) Rng. Atlasiet End Sub
Tagad saviem datiem pievienošu vēl dažas rindiņas.

Esmu pievienojis trīs papildu datu rindas. Ja es palaidu kodu tagad, tam vajadzētu izvēlēties jaunāko datu diapazonu.

Atceramās lietas
- Excel VBA diapazona mainīgais ir objekta mainīgais.
- Ikreiz, kad izmantojam objekta mainīgo, mums jāizmanto atslēgvārds “Set” un jānosaka objekta atsauce uz mainīgo.
- Nenorādot atsauci, mēs nevaram izmantot objekta mainīgo.