Zakres zmiennych VBA - Przykłady zakresu zmiennych w Excel VBA

Zmienna VBA programu Excel w zakresie

Zmienne są sercem i duszą każdego dużego projektu VBA, ponieważ zmienne są sercem i duszą, więc rodzaj typu danych, który im przypisujemy, jest również bardzo ważnym czynnikiem w tym względzie. W naszych wielu wcześniejszych artykułach wielokrotnie omawialiśmy zmienne i ich znaczenie dla typu danych. Jedną z takich zmiennych i typów danych jest „Zmienna zakresu” w tym specjalnym artykule. Podamy kompletny przewodnik dotyczący „zmiennej zakresu” w języku VBA programu Excel.

Co to jest zmienna zakresu w Excel VBA?

Jak każda inna zmienna Zakres w VBA, zmienna również jest zmienną, ale jest to „Zmienna obiektu”, której używamy do ustawiania odniesienia do określonego zakresu komórek.

Jak w przypadku każdej innej zmiennej, możemy nadać zmiennej dowolną nazwę, ale typem danych, który im przypisujemy, powinien być „Zakres”. Kiedy typ danych zostanie przypisany do zmiennej, staje się ona „zmienną obiektową” iw przeciwieństwie do innej zmiennej, nie możemy zacząć używać zmiennej zanim ustawimy odniesienie do obiektów w przypadku zmiennych obiektowych.

Zatem po zadeklarowaniu zmiennej musimy użyć słowa kluczowego „SET”, aby ustawić odniesienie do obiektu, czyli w tym przypadku obiekt Range.

Ok, teraz zobaczymy praktycznie kilka przykładów zmiennych zakresu VBA programu Excel.

Przykłady zmiennej zakresu w Excel VBA

Na przykład załóżmy, że chcesz wybrać zakres komórek od A2 do B10 dla poniższego obrazu zrzutu ekranu.

Aby zaznaczyć wspomniany zakres komórek, wszystko to, gdy mamy obiekt RANGE, a wewnątrz obiektu zakresu wymieniliśmy adres komórki w cudzysłowach.

Kod:

Sub Range_Variable_Example () Range ("A2: B10") End Sub

Gdy zakres komórek zostanie wymieniony za pomocą obiektu RANGE, jeśli umieścisz kropkę, zobaczymy wszystkie właściwości i metody powiązane z tym obiektem zakresu.

Kod:

Sub Range_Variable_Example () Range („A2: B10”). Napis końcowy

Ponieważ musimy zaznaczyć wspomniane komórki w prosty sposób, wybierz metodę „Wybierz” z listy IntelliSense.

Kod:

Sub Range_Variable_Example () Range („A2: B10”). Wybierz End Sub

Uruchom kod, a wybierze wspomniane komórki.

To oczywiste, prawda, ale wyobraź sobie scenariusz użycia tego samego zakresu w długim projekcie VBA, powiedzmy sto razy, napisanie tego samego kodu „Range („ A2: A10 ”)” 100 razy zajmie trochę czasu, ale zamiast tego zadeklarujemy zmienną i przypiszemy typ danych jako obiekt „Zakres”.

Ok, nadajmy własną nazwę zmiennej i przypiszmy jako typ danych „Zakres”.

Oprócz „zmiennych obiektowych” możemy zacząć używać zmiennych według ich nazw, ale w przypadku „zmiennych obiektowych” musimy ustawić odniesienie.

Na przykład w tym przypadku nasz obiekt zmiennej (Rng) jest zakresem, więc musimy ustawić odniesienie do słowa „Rng”, do którego będzie się odnosić. Aby ustawić odniesienie, musimy użyć słowa kluczowego „Set”.

Teraz zmienna „Rng” odnosi się do zakresu komórek od A2 do B10. Zamiast wpisywać „Zakres („ A2: B10 ”))” za każdym razem, możemy po prostu napisać słowo „Rng”.

W następnym wierszu podaj nazwę zmiennej „Rng” i umieść kropkę, aby zobaczyć magię.

Jak widać powyżej, możemy zobaczyć wszystkie właściwości i metody obiektów zakresu, takie jak poprzedni.

Spraw, by zmienna była dynamiczna

Teraz wiemy, jak ustawić odwołanie do zakresu komórek, ale kiedy już wspomnimy o zakresie komórek, przylega on tylko do tych komórek. Jakiekolwiek dodanie lub usunięcie komórek nie wpłynie na te komórki.

Zatem znalezienie nowego zakresu komórek po jakimkolwiek dodaniu lub usunięciu komórek powoduje, że zmienna ma charakter dynamiczny. Jest to możliwe poprzez znalezienie ostatnio używanego wiersza i kolumny.

Aby znaleźć ostatnio używany wiersz i kolumnę, musimy zdefiniować dwie dodatkowe zmienne.

Kod:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ostatni wiersz do zrozumienia Dim LC As Long' LC = Ostatnia kolumna do zrozumienia End Sub

Teraz poniższy kod znajdzie ostatnio używany wiersz i kolumnę, zanim ustawimy odwołanie do zmiennej obiektu zakresu.

Kod:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1). End (xlUp) .Row LC = Cells (1, Columns.Count). End (xlToLeft) .Column End Sub

Teraz otwórz instrukcję słowa kluczowego „Set”.

Kod:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1). End (xlUp) .Row LC = Cells (1, Columns.Count). End (xlToLeft) .Column Set Rng = End Sub

W przeciwieństwie do poprzedniej metody, tym razem używamy właściwości VBA CELLS.

Kod:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ostatni wiersz do zrozumienia Dim LC As Long' LC = Ostatnia kolumna do zrozumienia LR = Cells (Rows.Count, 1). End (xlUp) .Row LC = Cells (1, Columns.Count). End (xlToLeft) .Column Set Rng = Cells (1, 1) End Sub

Wspomniałem o komórkach (1,1), tj. Odnosi się to do pierwszej komórki w aktywnym arkuszu, ale potrzebujemy odwołania do zakresu danych, więc użyj właściwości „ZMIEŃ ROZMIAR” i wspomnij zmienne „ostatnio używany wiersz i kolumna”.

Kod:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ostatni wiersz do zrozumienia Dim LC As Long' LC = Ostatnia kolumna do zrozumienia LR = Cells (Rows.Count, 1). End (xlUp) .Row LC = Cells (1, Columns.Count). End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) End Sub

Teraz spowoduje to ustawienie ostatniego odniesienia do zmiennej obiektu zakresu „Rng”. Następnie podaj nazwę zmiennej i użyj metody „Wybierz”.

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ostatni wiersz do zrozumienia Dim LC As Long' LC = Ostatnia kolumna do zrozumienia LR = Cells (Rows.Count, 1). End (xlUp) .Row LC = Cells (1, Columns.Count). End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) Rng.Select End Sub

Teraz dodam jeszcze kilka wierszy do moich danych.

Dodałem trzy dodatkowe wiersze danych. Jeśli teraz uruchomię kod, powinien on wybrać najnowszy zakres danych.

Rzeczy do zapamiętania

  • Zmienna zakresu w programie Excel VBA jest zmienną obiektową.
  • Ilekroć używamy zmiennej obiektowej, musimy użyć słowa kluczowego „Set” i ustawić odniesienie do obiektu na zmienną.
  • Bez ustawienia odniesienia nie możemy użyć zmiennej obiektu.

Interesujące artykuły...