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