Aktuálny región VBA

Tento tutoriál vysvetlí, ako používať aktuálny región vo VBA.

The CurrentRegion property vo VBA je spôsob, ako vybrať všetky bunky, ktoré sú obsiahnuté v rozsahu, s ktorým by ste chceli pracovať. Pokiaľ sú bunky v dosahu za sebou nasledujúce alebo sa „dotýkajú“, CurrentRegion vyberie každú bunku v regióne.

Syntax aktuálneho regiónu

Syntax je veľmi jednoduchá:

1 Rozsah („E11“). CurrentRegion. Vyberte

kde by ste určili bunku, ktorej aktuálnu oblasť by ste chceli vybrať, a potom použili CurrentRegion. Vyberte vlastnosť vyberte Rozsah buniek.

Získanie aktuálneho regiónu

Zvážte nasledujúci pracovný list.

nasledujúci podproces by vybral všetky bunky v databáze

1234567 Sub FindCurrentRegion ()Dim rng As Range'nastavte rozsah na bunku E11Nastaviť rng = rozsah ("E11")'vyberte aktuálnu oblasťrng.CurrentRegion.SelectKoniec pod

Ak spustíme rutinu, všetky bunky v priečinku CurrentRegion z bunky E11 sa vyberie.

Ak odstránime obsah priľahlých buniek a znova spustíme rutinu, ako aktuálna oblasť sa vyberie nasledujúca položka.

Ak však odstránime ešte viac údajov, môžeme skončiť s nižšie uvedeným príkladom pre aktuálnu oblasť bunky E11.

Keď vložíme informácie do D13, skončíme s nasledujúcim:

The CurrentRegion preto vracia ďalší rozsah objekt definovaný najmenšou kombináciou obsadených stĺpcov a riadkov, ktoré obklopujú rozsah, ktorý ste zadali.

Počítanie riadkov a stĺpcov v aktuálnej oblasti

Môžeme použiť CurrentRegion na počítanie riadkov a stĺpcov.

12345678910111213 Sub FindCurrentRegion ()Dim rng As RangeDim iRw ako celé čísloDim iCol ako celé číslo“nastavte rozsahNastaviť rng = rozsah ("E11")„spočítaj riadkyiRw = rng.CurrentRegion.Rows.Count„spočítaj stĺpceiCol = rng.CurrentRegion.Columns.Count'ukážte výsledok v okne správyMsgBox („Riadky“ a iRw & „a stĺpce“ & iCol & „v našom aktuálnom regióne“)Koniec pod

Ak spustíme postup, zobrazí sa nasledujúce okno so správou.

Vymazanie aktuálnej oblasti

Na vymazanie rozsahu buniek môžeme použiť aj vlastnosť aktuálnej oblasti.

123456 Sub ClearCurrentRegion ()Dim rng As Range“nastavte rozsahNastaviť rng = rozsah ("E11")rng.CurrentRegion.ClearKoniec pod

Priradenie aktuálnej oblasti k premennej

K premennej rozsahu môžeme tiež priradiť celú aktuálnu oblasť a potom pomocou tejto premennej rozsahu manipulovať s bunkami - či už ide o formátovanie buniek, triedenie buniek atď.…

12345678910 Sub AssignCurrentRegionToVariable ()Dim rng As Range'nastavte rozsah na aktuálnu oblasť E11Nastaviť rng = rozsah ("E11"). CurrentRegion'vyfarbite pozadie a textrng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Pravdarng.Font.Color = -16776961Koniec pod

Ak spustíme vyššie uvedený postup, skončíme s pracovným listom, ako je uvedené nižšie!

Získanie počiatočných a koncových buniek v aktuálnej oblasti

S mierne komplikovanejším kódom môžeme získať prvú bunku a poslednú bunku v aktuálnej oblasti.

123456789101112131415161718 Sub GetStartAndEndCells ()Dim rng As RangeDim iRw ako celé čísloDim iCol ako celé čísloDim iColStart, iColEnd, iRwStart, iRwEnd As String'nastavte premennú rozsahu na aktuálnu oblasť E11Nastaviť rng = rozsah ("E11"). CurrentRegion'nastavte počiatočný stĺpec pre rozsahiColStart = rng.Stĺpec'získajte koncový stĺpec pre rozsahiColEnd = iColStart + (rng.Columns.Count - 1)'získajte počiatočný riadok pre rozsahiRwStart = rng.Row'získajte koncový riadok pre rozsahiRwEnd = iRwStart + (rng.Rows.Count - 1)'zobrazí adresu počiatočných a koncových riadkov a stĺpcov v okne správyMsgBox („Rozsah začína na“ a bunkách (iRwStart, iColStart). Adresa & „a končí na“ a bunkách (iRwEnd, iColEnd). Adresa)Koniec pod

Keď spustíme kód uvedený vyššie, zobrazí sa nasledujúce okno so správou

wave wave wave wave wave