Aktualny region VBA

Ten samouczek wyjaśni, jak używać bieżącego regionu w VBA.

ten Bieżący region Właściwość w VBA to sposób na wybranie wszystkich komórek zawartych w zakresie, z którymi możesz chcieć pracować. Dopóki wszystkie komórki w zakresie są następujące po sobie lub „stykają się” ze sobą, Bieżący region wybierze każdą komórkę w regionie.

Składnia bieżącego regionu

Składnia jest bardzo prosta:

1 Zakres("E11").CurrentRegion.Select

gdzie określisz komórkę, której bieżący region chcesz wybrać, a następnie użyj Bieżący region.Wybierz właściwość, aby wybrać zakres komórek.

Uzyskanie aktualnego regionu

Rozważ poniższy arkusz.

następująca podprocedura wybierze wszystkie komórki w bazie danych

1234567 Sub ZnajdźBieżący Region()Dim rng As Range'ustaw zakres na komórkę E11Ustaw rng = Zakres("E11")'wybierz aktualny regionrng.Bieżący region.WybierzNapis końcowy

Jeśli uruchomimy procedurę, wszystkie komórki w Bieżący region zostanie wybrana komórka E11.

Jeśli usuniemy zawartość sąsiednich komórek i ponownie uruchomimy procedurę, jako bieżący region zostanie wybrany następujący region.

Jeśli jednak usuniemy jeszcze więcej danych, możemy otrzymać poniższy przykład dla bieżącego regionu komórki E11.

Umieszczając informacje w D13, otrzymujemy następujące informacje:

ten Bieżący region dlatego zwraca inny zasięg obiekt zdefiniowany przez najmniejszą kombinację zajętych kolumn i wierszy otaczających podany zakres.

Zliczanie wierszy i kolumn w bieżącym regionie

Możemy użyć Bieżący region aby policzyć wiersze i kolumny.

12345678910111213 Sub ZnajdźBieżącyRegion()Dim rng As RangeDim iRw jako liczba całkowitaDim iCol jako liczba całkowita„ustaw zakres”Ustaw rng = Zakres("E11")„policz wiersze”iRw = rng.CurrentRegion.Rows.Count'policz kolumny'iCol = rng.Bieżący region.Kolumny.Liczba'pokaż wynik w oknie wiadomościMsgBox ("W naszym bieżącym regionie mamy wiersze " & iRw & " oraz kolumny " & iCol & ")Napis końcowy

Jeśli uruchomimy procedurę, pojawi się następujący komunikat.

Czyszczenie bieżącego regionu

Możemy również użyć bieżącej właściwości regionu, aby wyczyścić zakres komórek.

123456 Sub ClearCurrentRegion()Dim rng As Range„ustaw zakres”Ustaw rng = Zakres("E11")rng.Bieżący region.WyczyśćNapis końcowy

Przypisywanie bieżącego regionu do zmiennej

Możemy również przypisać cały bieżący region do zmiennej zakresu, a następnie użyć tej zmiennej zakresu do manipulowania komórkami - czy to do formatowania komórek, sortowania komórek itp.

12345678910 Podrzędne przypisanie bieżącego regionu do zmiennej()Dim rng As Range'ustaw zakres na bieżący region E11Ustaw rng = Zakres("E11").CurrentRegion„pokoloruj tło i tekst”rng.Interior.Pattern = xlSolidrng.Kolor.wnętrza = 65535rng.Font.Pogrubienie = Prawdarng.Czcionka.Kolor = -16776961Napis końcowy

Jeśli uruchomimy powyższą procedurę, otrzymamy arkusz roboczy, jak pokazano poniżej!

Pobieranie komórek początkowych i końcowych w bieżącym regionie

Przy nieco bardziej skomplikowanym kodzie możemy uzyskać pierwszą i ostatnią komórkę w bieżącym regionie.

123456789101112131415161718 Sub GetStartAndEndCells()Dim rng As RangeDim iRw jako liczba całkowitaDim iCol jako liczba całkowitaDim iColStart, iColEnd, iRwStart, iRwEnd As String'ustaw zmienną zakresu na bieżący region E11'Ustaw rng = Zakres("E11").CurrentRegion'ustaw kolumnę początkową dla zakresuiColStart = rng.Column'pobierz kolumnę końcową dla zakresuiColEnd = iColStart + (rng.Columns.Count - 1)'pobierz wiersz początkowy dla zakresuiRwStart = rng.Wiersz'pobierz ostatni wiersz dla zakresuiRwEnd = iRwStart + (rng.Rows.Count - 1)'wyświetl adres początkowych i końcowych wierszy i kolumn w oknie wiadomościMsgBox ("Zakres zaczyna się na " & Cells(iRwStart, iColStart).Address & " i kończy się na " & Cells(iRwEnd, iColEnd).Address)Napis końcowy

Po uruchomieniu powyższego kodu pojawi się następujący komunikat:

wave wave wave wave wave