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: