Šajā apmācībā tiks paskaidrots, kā izmantot pašreizējo reģionu VBA.
The Pašreizējais reģions īpašums VBA ir veids, kā atlasīt visas šūnas, kas atrodas diapazonā, ar kuru jūs varētu vēlēties strādāt. Kamēr diapazonā esošās šūnas ir secīgas vai “pieskaras” viena otrai, Pašreizējais reģions atlasīs katru reģiona šūnu.
Pašreizējā reģiona sintakse
Sintakse ir ļoti vienkārša:
1 | Diapazons ("E11"). Pašreizējais reģions. Atlasiet |
kur jūs norādītu šūnu, kuras pašreizējo reģionu vēlaties atlasīt, un pēc tam izmantojiet Pašreizējais reģions. Atlasiet īpašumu, lai atlasītu šūnu diapazonu.
Pašreizējā reģiona iegūšana
Apsveriet šādu darblapu.
šī apakšprocedūra atlasītu visas šūnas datu bāzē
1234567 | Sub FindCurrentRegion ()Dim rng As Rangeiestatiet diapazonu uz šūnu E11Iestatīt rng = Diapazons ("E11")'izvēlieties pašreizējo reģionurng.CurrentRegion.SelectBeigu apakš |
Ja mēs izpildām rutīnu, visas šūnas Pašreizējais reģions tiks atlasīta šūna E11.
Ja mēs noņemsim blakus esošo šūnu saturu un atkārtoti palaidīsim rutīnu, kā pašreizējais reģions tiks izvēlēts šāds.
Tomēr, ja mēs noņemam vēl vairāk datu, mēs varam iegūt zemāk redzamo piemēru šūnas E11 pašreizējam reģionam.
Ievietojot informāciju D13, mēs iegūstam sekojošo:
The Pašreizējais reģions tāpēc atdod citu diapazons objekts, ko nosaka mazākā aizņemto kolonnu un rindu kombinācija, kas ieskauj jūsu piegādāto diapazonu.
Rindu un kolonnu skaitīšana pašreizējā reģionā
Mēs varam izmantot Pašreizējais reģions lai saskaitītu rindas un kolonnas.
12345678910111213 | Sub FindCurrentRegion ()Dim rng As RangeDim iRw kā vesels skaitlisDim iCol kā vesels skaitlis'iestatiet diapazonuIestatīt rng = Diapazons ("E11")'saskaitiet rindasiRw = rng.CurrentRegion.Rows.Count'saskaitiet kolonnasiCol = rng.CurrentRegion.Columns.Count'parādiet rezultātu ziņojumu lodziņāMsgBox ("Mums pašreizējā reģionā ir rindas & iRw &" un kolonnas "& iCol &")Beigu apakš |
Ja mēs izpildām procedūru, parādīsies šāds ziņojumu lodziņš.
Notīrīt pašreizējo reģionu
Mēs varam arī izmantot pašreizējo reģiona rekvizītu, lai notīrītu šūnu diapazonu.
123456 | Sub ClearCurrentRegion ()Dim rng As Range'iestatiet diapazonuIestatīt rng = Diapazons ("E11")rng. Pašreizējais reģions. SkaidrsBeigu apakš |
Pašreizējā reģiona piešķiršana mainīgajam
Mēs varam arī piešķirt visu pašreizējo reģionu diapazona mainīgajam un pēc tam izmantot šo diapazona mainīgo, lai manipulētu ar šūnām - vai tas būtu šūnu formatēšana, šūnu šķirošana utt.
12345678910 | Sub AssignCurrentRegionToVariable ()Dim rng As Rangeiestatiet diapazonu kā pašreizējo E11 reģionuIestatīt rng = Diapazons ("E11"). Pašreizējais reģions'krāsojiet fonu un teksturng.Interior.Pattern = xlSolidrng.Interjers.Krāsa = 65535rng.Font.Bold = Patiessrng.Fonts.Krāsa = -16776961Beigu apakš |
Ja mēs izpildīsim iepriekš minēto procedūru, mēs izveidosim darblapu, kā parādīts zemāk!
Sākuma un beigu šūnu iegūšana pašreizējā reģionā
Izmantojot nedaudz sarežģītāku kodu, mēs varam iegūt pirmo šūnu un pēdējo šūnu pašreizējā reģionā.
123456789101112131415161718 | Apakš GetStartAndEndCells ()Dim rng As RangeDim iRw kā vesels skaitlisDim iCol kā vesels skaitlisDim iColStart, iColEnd, iRwStart, iRwEnd kā virkneiestatiet diapazona mainīgo kā pašreizējo E11 reģionuIestatīt rng = Diapazons ("E11"). Pašreizējais reģionsiestatiet diapazona sākuma kolonnuiColStart = rng. Kolonna'iegūstiet diapazona beigu kolonnuiColEnd = iColStart + (rng.Columns.Count - 1)'iegūstiet diapazona sākuma rinduiRwStart = rng. Rinda'iegūstiet diapazona beigu rinduiRwEnd = iRwStart + (rng.Rows.Count - 1)'ziņojumu lodziņā parādīt sākuma un beigu rindu un kolonnu adresiMsgBox ("Diapazons sākas ar" & šūnas (iRwStart, iColStart). Adrese & "un beidzas ar" & šūnas (iRwEnd, iColEnd). Adrese)Beigu apakš |
Izpildot iepriekš minēto kodu, tiks parādīts šāds ziņojumu lodziņš