VBA pašreizējais reģions

Š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ņš

wave wave wave wave wave