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