Aktuální region VBA

Tento tutoriál vysvětlí, jak používat aktuální oblast ve VBA.

The Aktuální region property in VBA is a way to select all the cells that are contained within a Range that you might want to work with. Dokud jsou buňky v dosahu po sobě jdoucí nebo se navzájem „dotýkají“, Aktuální region vybere každou buňku v oblasti.

Syntaxe aktuálního regionu

Syntaxe je velmi jednoduchá:

1 Rozsah („E11“). CurrentRegion. Vyberte

kde byste určili buňku, jejíž aktuální oblast chcete vybrat, a poté použijte CurrentRegion.Select vlastnost vyberte Rozsah buněk.

Získání aktuální oblasti

Zvažte následující list.

následující dílčí postup by vybral všechny buňky v databázi

1234567 Sub FindCurrentRegion ()Dim rng As Range'nastavte rozsah na Cell E11Nastavit rng = rozsah ("E11")'vyberte aktuální regionrng.CurrentRegion.SelectEnd Sub

Pokud spustíme rutinu, všechny buňky v Aktuální region bude vybrána buňka E11.

Pokud odstraníme obsah sousedních buněk a znovu spustíme rutinu, jako aktuální oblast bude vybráno následující.

Pokud však odstraníme ještě více dat, můžeme skončit s níže uvedeným příkladem pro aktuální oblast buňky E11.

Když vložíme informace do D13, skončíme s následujícím:

The Aktuální region proto vrací další rozsah objekt definovaný nejmenší kombinací obsazených sloupců a řádků, které obklopují rozsah, který jste zadali.

Počítání řádků a sloupců v aktuální oblasti

Můžeme použít Aktuální region počítat řádky a sloupce.

12345678910111213 Sub FindCurrentRegion ()Dim rng As RangeDim iRw As IntegerDim iCol jako celé číslo'nastavit rozsahNastavit rng = rozsah ("E11")“spočítejte řádkyiRw = rng.CurrentRegion.Rows.Count“spočítejte sloupceiCol = rng.CurrentRegion.Columns.Count'zobrazit výsledek ve zprávě.'MsgBox ("Máme řádky" & iRw & "a sloupce" & iCol & "v naší aktuální oblasti")End Sub

Pokud spustíme postup, zobrazí se následující okno se zprávou.

Vymazání aktuální oblasti

Můžeme také použít vlastnost aktuální oblasti k vymazání rozsahu buněk.

123456 Sub ClearCurrentRegion ()Dim rng As Range'nastavit rozsahNastavit rng = rozsah ("E11")rng.CurrentRegion.ClearEnd Sub

Přiřazení aktuální oblasti proměnné

Můžeme také přiřadit celou aktuální oblast proměnné rozsahu a poté pomocí této proměnné rozsahu manipulovat s buňkami - ať už jde o formátování buněk, třídění buněk atd …

12345678910 Sub AssignCurrentRegionToVariable ()Dim rng As Range'nastavte rozsah na aktuální oblast E11Nastavit rng = rozsah ("E11"). CurrentRegion'vybarvi pozadí a textrng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Truerng.Font.Color = -16776961End Sub

Pokud spustíme výše uvedený postup, skončíme s pracovním listem, jak je uvedeno níže!

Získání počátečních a koncových buněk v aktuální oblasti

S mírně komplikovanějším kódem můžeme získat první buňku a poslední buňku v aktuální oblasti.

123456789101112131415161718 Sub GetStartAndEndCells ()Dim rng As RangeDim iRw As IntegerDim iCol jako celé čísloDim iColStart, iColEnd, iRwStart, iRwEnd jako řetězec'nastavte proměnnou rozsahu na aktuální oblast E11.'Nastavit rng = rozsah ("E11"). CurrentRegion'nastavte počáteční sloupec pro rozsah.'iColStart = rng.Column'Získejte koncový sloupec pro rozsahiColEnd = iColStart + (rng.Columns.Count - 1)'získejte počáteční řádek pro rozsahiRwStart = rng.Row'získejte koncový řádek pro rozsahiRwEnd = iRwStart + (rng.Rows.Count - 1)'zobrazí adresu počátečních a koncových řádků a sloupců v okně zprávy.'MsgBox ("Rozsah začíná na" & Cells (iRwStart, iColStart) .Address & "a končí na" & Cells (iRwEnd, iColEnd) .Address)End Sub

Když spustíme výše uvedený kód, zobrazí se následující okno se zprávou

wave wave wave wave wave