Trenutna regija VBA

Ta vadnica bo razložila, kako uporabljati trenutno regijo v VBA.

The CurrentRegion lastnost v VBA je način, da izberete vse celice v obsegu, s katerimi bi morda želeli delati. Dokler so celice v razponu vse zaporedne ali se 'dotikajo' med seboj, se CurrentRegion bo izbral vsako celico v regiji.

Skladnja CurrentRegion

Sintaksa je zelo preprosta:

1 Obseg ("E11"). CurrentRegion. Izberite

kjer bi določili celico, katero trenutno območje želite izbrati, in nato uporabili CurrentRegion. Izberite lastnosti, da izberete obseg celic.

Pridobitev trenutne regije

Razmislite o naslednjem delovnem listu.

naslednji podproces bi izbral vse celice v bazi podatkov

1234567 Sub FindCurrentRegion ()Dim rng As Range'nastavite obseg na celico E11Nastavi rng = območje ("E11")'izberite trenutno regijorng.CurrentRegion.SelectEnd Sub

Če izvajamo rutino, se vse celice v CurrentRegion celice E11 bo izbrana.

Če odstranimo vsebino sosednjih celic in znova zaženemo rutino, bo kot trenutno območje izbrano naslednje.

Če pa odstranimo še več podatkov, bi lahko na koncu dobili spodnji primer za trenutno regijo celice E11.

Če v D13 vnesemo informacije, dobimo naslednje:

The CurrentRegion zato vrne drugo obseg objekt, opredeljen z najmanjšo kombinacijo zasedenih stolpcev in vrstic, ki obkrožajo obseg, ki ste ga vnesli.

Štetje vrstic in stolpcev v trenutni regiji

Lahko uporabimo CurrentRegion za štetje vrstic in stolpcev.

12345678910111213 Sub FindCurrentRegion ()Dim rng As RangeZatemni iRw kot celo številoZatemni iCol kot celo število'nastavite obsegNastavi rng = območje ("E11")'štej vrsticeiRw = rng.CurrentRegion.Rows.Count'štejte stolpceiCol = rng.CurrentRegion.Columns.Count'prikaže rezultat v polju za sporočilaMsgBox ("V trenutni regiji imamo vrstice" & iRw & "in stolpce" & iCol & "))End Sub

Če postopek izvedemo, se prikaže naslednje okno s sporočilom.

Brisanje trenutne regije

Trenutno lastnost regije lahko uporabimo tudi za brisanje obsega celic.

123456 Sub ClearCurrentRegion ()Dim rng As Range'nastavite obsegNastavi rng = območje ("E11")rng.CurrentRegion.ClearEnd Sub

Dodelitev trenutne regije spremenljivki

Celotno trenutno regijo lahko dodelimo spremenljivki obsega, nato pa s to spremenljivko obsega upravljamo celice - naj bo to oblikovanje celic, razvrščanje celic itd …

12345678910 Sub AssignCurrentRegionToVariable ()Dim rng As Range'nastavite obseg na trenutno območje E11Nastavite rng = območje ("E11"). CurrentRegion'obarvajte ozadje in besedilorng.Interiors.Pattern = xlSolidrng.Interiors.Color = 65535rng.Font.Bold = Resrng.Font.Color = -16776961End Sub

Če izvedemo zgornji postopek, bomo na koncu dobili delovni list, kot je prikazano spodaj!

Pridobivanje začetne in končne celice v trenutni regiji

Z nekoliko bolj zapleteno kodo lahko dobimo prvo celico in zadnjo celico v trenutni regiji.

123456789101112131415161718 Sub GetStartAndEndCells ()Dim rng As RangeZatemni iRw kot celo številoZatemni iCol kot celo številoDim iColStart, iColEnd, iRwStart, iRwEnd As String'spremenljivko obsega nastavite na trenutno območje E11Nastavite rng = območje ("E11"). CurrentRegion'nastavite začetni stolpec za obsegiColStart = rng. Stolpec'dobite zadnji stolpec za obsegiColEnd = iColStart + (rng.Columns.Count - 1)'dobite začetno vrstico za obsegiRwStart = rng.Row'dobite zadnjo vrstico za obsegiRwEnd = iRwStart + (rng.Rows.Count - 1)'v oknu za sporočila prikaže naslov začetnih in končnih vrstic in stolpcevMsgBox ("Obseg se začne pri" & celicah (iRwStart, iColStart). Naslov & "in se konča pri" & Celicah (iRwEnd, iColEnd). Naslov)End Sub

Ko zaženemo zgornjo kodo, se prikaže naslednje okno s sporočilom

wave wave wave wave wave