Zakres zmiennej Excel VBA

W tym artykule zobaczymy zarys zmiennej Excel VBA w zakresie. Ale użycie właściwości range oznacza, że ​​użytkownik musi wiedzieć, który zakres użyć, gdzie jest zasięg jako zmienna. W VBA mamy typ danych jako zakres, który służy do definiowania zmiennych jako zakres, który może zawierać wartość zakresu . Te zmienne są bardzo przydatne w złożonym programowaniu i automatyzacji. Często zmienny zakres jest używany z zestawem instrukcji i metodą zakresu. Instrukcje set służą do ustawiania zmiennej na zakres określonego rozmiaru, a metoda właściwości range służy do uzyskania wartości już w tym zakresie lub do zastąpienia ich inną wartością. Po pierwsze, pozwól nam wyjaśnić, jaki jest zasięg?

Co to jest zasięg?

Zakres to grupa komórek, która może pochodzić z jednego wiersza lub z jednej kolumny, może też być kombinacją wierszy i kolumn. Zakres VBA to metoda używana do pobierania danych z określonych kolumn wierszy lub tabeli, a także do przypisywania wartości do tego zakresu.

Najpierw zaczniemy od podstawowej metody właściwości zakresu, a następnie od zakresu zmiennej. Czy wszystkie przykłady w sekwencji będziemy w stanie zrozumieć związek ze zmienną zakresu, instrukcją set i metodą właściwości range.

Jak ustawić zmienny zakres w programie Excel VBA?

Dowiemy się, jak ustawić inny zakres zmiennych w programie Excel za pomocą kodu VBA.

Możesz pobrać ten szablon Excel VBA Variable Range Excel tutaj - Szablon Excel VBA Variable Range Excel

Zakres zmiennej VBA - przykład nr 1

Rozpocznijmy nasz pierwszy przykład zakresu zmiennej w najprostszy sposób, czyli za pomocą metody właściwości range. W tym przykładzie przypiszemy kilka komórek z naszymi własnymi wartościami niestandardowymi przy użyciu metody range. Wykonajmy poniższe kroki.

Krok 1: Otwórz moduł z menu Wstaw, jak pokazano poniżej.

Krok 2: Napisz podprocedurę zakresu zmiennej VBA.

Kod:

 Sub Przykład 1 () End Sub 

Krok 3: Teraz jest kluczowa część, aby pamiętać, że niezależnie od tego, którą piszemy procedurę, VBA wykonuje ją w aktywnym arkuszu lub aktywnym arkuszu, więc aby uruchomić różne procedury w różnych arkuszach, musimy je najpierw aktywować za pomocą metody Aktywuj .

Kod:

 Sub Przykład 1 () Arkusze robocze („Arkusz 1”) Aktywuj End Sub 

Krok 4: Teraz zacznijmy prostą operację od przypisania niestandardowej wartości do komórki arkusza 1 za pomocą metody właściwości range.

Kod:

 Sub Przykład 1 () Arkusze robocze („Arkusz 1”). Aktywuj zakres („A1: C3”). Wartość = „EDUCBA” End Sub 

Krok 5: Uruchom kod, naciskając klawisz F5 lub klikając przycisk Play. Po wykonaniu kodu możemy zobaczyć wartość w Arkuszu 1 w następujący sposób.

Widzimy, że w naszym kodzie wybraliśmy komórki z A1: C3, aby miały te niestandardowe wartości, ten przykład był podstawową reprezentacją tego, co możemy zrobić za pomocą metody właściwości range.

Zakres zmiennej VBA - Przykład 2

Teraz użyjmy Range jako zmiennej w VBA, możemy użyć range jako zmiennej i ustawić zmienną z wartościami za pomocą metody właściwości range. W tym przykładzie omówimy, jak używać zmiennej range do pobierania danych z komórki i wyświetlania ich na ekranie.

Krok 1: Rozpoczniemy kolejny przykład w tym samym module, który wstawiliśmy, więc nie musimy wstawiać nowego modułu dla każdej procedury. Poniżej pierwszego kodu zainicjuj kolejną podprocedurę.

Kod:

 Sub Przykład 2 () End Sub 

Krok 2: Ustawmy zmienną jako typ danych Range, aby mogła przechowywać lub przechowywać zakres wartości.

Kod:

 Sub Przykład 2 () Dim Rng As Range End Sub 

Krok 3: Teraz omówiliśmy wcześniej znaczenie aktywacji arkusza roboczego przed użyciem go w naszym przykładzie, dlatego musimy aktywować arkusz 2.

Kod:

 Sub Przykład2 () Dim Rng As Arkusze robocze („Arkusz2”) Aktywuj End Sub 

Krok 4: Zanim zaczniemy nasz następny kod, najpierw zobaczmy, co ma wartość komórka A1 w arkuszu 2.

Krok 5: Widzimy, że w komórce A1 są dane, więc użyjemy instrukcji Set, aby przypisać wartość komórki A1 do naszej zmiennej za pomocą metody właściwości range.

Kod:

 Sub Przykład2 () Dim Rng As Range Arkusze („Arkusz2”). Aktywuj Set Rng = Range („A1”) End Sub 

Krok 6: Teraz, aby wyświetlić wartość, która została zapisana w naszej zmiennej, użyjmy funkcji msgbox w następujący sposób na poniższym obrazku.

Kod:

 Sub Przykład2 () Dim Rng As Range Arkusze („Arkusz2”). Aktywuj Set Rng = Range („A1”) MsgBox Rng End Sub 

Krok 7: Teraz, gdy wykonamy powyższy kod, otrzymamy następujący wynik.

Zakres zmiennej VBA - Przykład 3

W tym przykładzie użyjemy zmiennej jako zakresu do wybrania kilku komórek z arkusza 3.

Krok 1: Zdefiniowanie podprocedury będzie takie samo, jak dla wszystkich powyższych kodów, zacznijmy tuż pod przykładem 3 w tym samym module, jak pokazano poniżej.

Kod:

 Sub Przykład 3 () End Sub 

Krok 2: Teraz zadeklaruj zmienną jako typ danych Zakres, aby zapisać wartości zakresu.

Kod:

 Sub Przykład 3 () Dim Rng1 As Range End Sub 

Krok 3: Ponieważ zamierzamy wykonać procedurę z arkusza 3, najpierw aktywujmy arkusz 3.

Kod:

 Sub Przykład 3 () Dim Rng1 As Arkusze zakresu („Arkusz 3”) Aktywuj End Sub 

Krok 4: Teraz użyj instrukcji set, aby przypisać wartość zakresu do naszej zmiennej za pomocą metody właściwości range.

Kod:

 Sub Przykład3 () Dim Rng1 As Arkusze zakresu („Arkusz 3”). Aktywuj Ustaw Rng1 = Zakres („A1: C3”) Rng1 Wybierz End Sub 

Krok 5: Teraz użyjmy instrukcji select, aby wybrać zakres w zmiennej.

Kod:

 Sub Przykład3 () Dim Rng1 As Arkusze zakresu („Arkusz 3”). Aktywuj Ustaw Rng1 = Zakres („A1: C3”) Rng1 Wybierz End Sub 

Krok 6: Kiedy wykonamy kod i przejdziemy do arkusza 3, możemy zobaczyć następujący wynik.

Zakres zmiennej VBA - Przykład 4

Teraz zastosujmy zmienny zakres, aby przypisać niektóre wartości do określonego zakresu i tymczasem zmienić ich czcionkę.

Krok 1: W tym samym module poniżej przykładu 3 ustawimy inną procedurę o nazwie Przykład4.

Kod:

 Sub Przykład 4 () End Sub 

Krok 2: Teraz ustaw zmienną jako typ danych Zakres, aby przechowywać wartości zakresu.

Kod:

 Sub Przykład 4 () Dim Rng2 As Range End Sub 

Krok 3: Ponieważ zamierzamy wykonać procedurę w Arkuszu 4, najpierw aktywujmy Arkusz4.

Kod:

 Sub Przykład4 () Dim Rng2 As Arkusze zakresu („Arkusz4”) Aktywuj End Sub 

Krok 4: Teraz użyj instrukcji set, aby przypisać wartość zakresu do naszej zmiennej za pomocą metody właściwości range, jak pokazano poniżej.

Kod:

 Sub Przykład4 () Dim Rng2 As Arkusze zakresu („Arkusz4”). Aktywuj Ustaw Rng2 = Zakres („A1: C3”) End Sub 

Krok 5: Teraz użyjemy właściwości Value metody zakresu, aby przypisać wartość do tego zakresu.

Kod:

 Sub Przykład4 () Dim Rng2 As Arkusze pracy („Arkusz4”). Aktywuj Ustaw Rng2 = Zakres („A1: C3”) Rng2.Value = „EDUCBA” End Sub 

Krok 6: Teraz zmieńmy czcionkę zakresu, aby była pogrubiona za pomocą następującego kodu.

Kod:

 Sub Przykład4 () Dim Rng2 Jako arkusze zakresu („Arkusz4”). Aktywuj Ustaw Rng2 = Zakres („A1: C3”) Rng2.Value = „EDUCBA” Rng2.Font.Bold = True End Sub 

Krok 7: Po uruchomieniu tego kodu możemy zobaczyć następujący wynik w arkuszu 4, jak pokazano poniżej.

Objaśnienie zakresu zmiennych VBA:

Teraz dzięki powyższym przykładom możemy zobaczyć, jak użyteczny jest zmienny zakres w naszym kodowaniu. Podam przykład znalezienia ostatniego rzędu w dowolnym arkuszu. Nie możemy tego zrobić za pomocą normalnej metody właściwości zakresu, ponieważ potrzebujemy zmiennej jako zakresu, ponieważ metoda właściwości zakresu będzie statyczna, a ostatni wiersz nie zostanie zidentyfikowany po zmianie danych, ale za pomocą zakresu zmiennej sprawimy, że będzie dynamiczny, dzięki czemu wartości mogą również ulec zmianie.

Jak korzystać z Variable Range?

Pozwól, że wyjaśnię kolejny przykład użycia zakresu zmiennych w kodzie czasu rzeczywistego. Powiedzmy, że mamy różne wartości w Arkuszu 5, jak pokazano poniżej.

Chcę dowiedzieć się, który wiersz ma wartość „EDUCBA”, chcemy, aby numer wiersza był wyświetlany.

Kod:

 Podprzykład5 () Dim ws As Arkusz Dim DimCell As Range Dim WTF As String Dim k As Integer Set ws = Arkusze („Arkusz5”) WTF = Range („A1”). Zestaw wartości FoundCell = ws.Range („A: A „) .Find (What: = WTF) k = FoundCell.Row MsgBox„ Znaleziono wartość w wierszu ”i k End Sub 

Po uruchomieniu kodu wyświetlany jest następujący wynik.

Pozwól mi wyjaśnić kod, zmienna Foundcell jest zakresem zmiennych, który wyszukuje wartość A1 w całym zakresie A: A, a gdy wartość zostanie znaleziona, wyświetla numer wiersza za pomocą metody Row.

Rzeczy do zapamiętania

  • Zakres zmiennych jest zmienną o typie danych zakresu.
  • Jest zdefiniowany tak samo jak instrukcja Dim.
  • Używamy instrukcji Set, aby przypisać zakres do zmiennej.
  • Metoda właściwości właściwości służy do uzyskiwania dostępu do wartości zmiennej zakresu.

Polecane artykuły

Jest to przewodnik po VBA Variable Range. Tutaj omawiamy, jak ustawić zakres zmiennych w programie Excel za pomocą kodu VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Zakres wyboru VBA (przykłady)
  2. Oświadczenia VBA IF | Szablon Excel
  3. Deklaracja zmiennej VBA z typami danych
  4. Przegląd numeru formatu VBA

Kategoria: