Globalne zmienne Excel VBA

Zazwyczaj deklarujemy dowolną zmienną za pomocą słowa DIM i jest to najlepsza bezpośrednia metoda na to. Ale zmiennych zadeklarowanych za pomocą DIM można używać tylko w tym samym module. Jeśli spróbujemy użyć tej zmiennej zdefiniowanej za pomocą DIM, będzie ona miała zastosowanie do modułu, w ramach którego jest deklarowana. Co jeśli chcemy użyć zmiennej w dowolnym module lub projekcie? Co nie jest możliwe, jeśli nadal używamy DIM do zdefiniowania tej zmiennej?

W takim przypadku mamy drugą opcję, definiując zmienną słowem Global lub Public w VBA. Zmienne globalne lub publiczne VBA to zmienne zadeklarowane na początku podkategorii za pomocą opcji Explicit. Cokolwiek rzeczy, których nie robimy lub których nie możemy zrobić w podkategoriach, są one wykonywane wcześniej w opcji Explicit.

Jak zadeklarować zmienne globalne w VBA?

Poniżej znajdują się różne przykłady deklarowania zmiennej globalnej w programie Excel za pomocą kodu VBA.

Możesz pobrać ten szablon VBA Global Variables Excel tutaj - szablon VBA Global Variables Excel

Globalne zmienne VBA - przykład nr 1

W tym przykładzie zobaczymy, jak różne podkategorie mogą być używane jako pojedynczy moduł bez użycia słowa globalnego lub publicznego do definiowania dowolnej zmiennej. Do tego potrzebowalibyśmy modułu.

  • Przejdź do menu Wstaw i kliknij Moduł, jak pokazano poniżej.

  • Teraz wpisz podkategorię pod dowolną nazwą, jak pokazano poniżej.

Kod:

 Sub Global_Variable () End Sub 

  • Teraz użyj DIM, aby zdefiniować dowolny rodzaj zmiennej. Tutaj wybraliśmy alfabet A jako ciąg znaków .

Kod:

 Sub Global_Variable () Dim A As String End Sub 

  • Teraz utwórz kolejną podkategorię w tym samym module, jak pokazano poniżej.

Kod:

 Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () End Sub 

  • Teraz w drugiej podkategorii zdefiniuj inną zmienną B, używając DIM jako String.

Kod:

 Sub Global_Variable () Dim A As Sub End Sub Sub Global_Variable6 () Dim B As String End Sub 

Jak pokazano powyżej, obie zmienne A i B zdefiniowane w obu podkategoriach nie mogą być używane w swoim regionie. Będą one miały zastosowanie tylko w ich własnej podkategorii.

  • Teraz, aby to zadziałało, napisz opcję Explicit nad pierwszą podkategorią, jak pokazano poniżej.

Kod:

 Opcja Jawna Sub Zmienna_ globalna () End Sub Sub Zmienna_ globalna6 () End Sub 

  • Teraz możemy zdefiniować naszą zmienną, która będzie używana w obu podkategoriach, które mamy poniżej. Rozważmy teraz napisanie dowolnej zmiennej, powiedzmy A jako String, używając DIM.

Kod:

 Opcja Jawne Dim A As String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Jak zdefiniowaliśmy zmienną, wszystkie podkategorie będą w tym module i będzie to miało zastosowanie tylko do całego kodu tego modułu. A jeśli spróbujemy wywołać zmienne zdefiniowane w tym module do jakiegoś innego modułu, to dałoby nam to błąd.

Globalne zmienne VBA - przykład 2

W tym przykładzie zobaczymy, jak używać słowa Globalnego lub Publicznego do definiowania dowolnej zmiennej w programie VBA programu Excel. W tym celu użyjemy kodu, który widzieliśmy w przykładzie 1.

Poniższej części kodu użyjemy do deklaracji zmiennych globalnych lub publicznych.

Kod:

 Opcja Jawna Sub Zmienna_ globalna () End Sub Sub Zmienna_ globalna6 () End Sub 

Tak jak w przykładzie 1, w którym zadeklarowaliśmy wspólną zmienną, która byłaby używana w obu podkategoriach, poniżej opcji Explicit. W tym przykładzie zadeklarujemy zmienną globalną również poniżej opcji Explicit.

Ponieważ mamy już gotowy kod, możemy bezpośrednio deklarować zmienne za pomocą Global . Teraz w poniższej opcji Wyraźnie napisz Globalnie tak samo jak w przypadku DIM i wybierz zmienną wyboru. Tutaj wybieramy alfabet A, jak pokazano poniżej.

Kod:

 Opcja Jawna Global A Sub Global_Variable () Dim A Jako ciąg końcowy Sub Sub Global_Variable6 () Dim B Jako ciąg końcowy Sub 

Teraz wybieramy dowolny typ zmiennej. Ponieważ użyliśmy już String w powyższym przykładzie, więc użyjemy tego samego również tutaj.

Kod:

 Opcja Jawna globalna A jako podrzędna zmienna ciągu Global_Variable () Dim A jako podrzędna końcówka ciągu Global_Variable6 () Dim B jako podrzędna końcówka łańcucha 

To kończy nasz proces deklaracji zmiennych globalnych. Teraz możemy użyć tego w dowolnym module, dowolnym projekcie jako tylko String. Zanim go użyjemy, usuń poprzednio zadeklarowaną zmienną, a następnie kod będzie wyglądał jak pokazano poniżej.

Kod:

 Opcja Jawna globalna A jako ciąg pod zmienna Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Teraz przypiszmy trochę tekstu do zdefiniowanej zmiennej A w obu podkategoriach. Wybieramy „Test1” i „Test2” dla zmiennej A w obu podkategoriach, jak pokazano poniżej. A także wybraliśmy MsgBox, aby wyświetlić wartości przechowywane w zmiennej A.

Kod:

 Opcja Jawna globalna A jako podrzędna zmienna ciągowa Global_Variable () A = „Test1” MsgBox A End Sub Sub Global_Variable6 () A = „Test2” MsgBox A End Sub 

Teraz uruchom kod, naciskając klawisz F5 lub klikając przycisk odtwarzania, aby zobaczyć wynik.

Otrzymamy komunikat „Test1”, jak pokazano powyżej. To dlatego, że trzymaliśmy kursor w pierwszej podkategorii.

Teraz umieść kursor w dowolnym miejscu w drugiej podkategorii i ponownie uruchom kod. Otrzymamy teraz okno komunikatu z komunikatem „Test2”, jak pokazano poniżej.

W ten sposób możemy stworzyć i zdefiniować zmienną za pomocą Global, która może być użyta w dowolnym module, dowolnej klasie i dowolnym projekcie. Możemy używać Publicznego również zamiast Globalnego, jak pokazano poniżej. To da taki sam efekt, jak w przypadku korzystania z Global.

Kod:

 Opcja Jawna Publiczna A Jako ciąg podrzędny Global_Variable () A = „Test1” MsgBox A End Sub Sub Global_Variable6 () A = „Test2” MsgBox A End Sub 

Zalety VBA Global Variable

  • Oszczędność czasu przy deklarowaniu wielu zmiennych, gdy wiemy, że może być konieczne ponowne zdefiniowanie tego samego typu zmiennej w różnych modułach lub podkategoriach.
  • Używając globalnego lub publicznego do definiowania procesu zmiennego, nasz kod staje się mniejszy, oszczędzając czas i miejsce.
  • Zmniejsza to złożoność, gdy piszemy ogromny kod i może się mylić przy użyciu różnych zmiennych w różnych modułach lub podkategoriach.

Wady VBA Global Variable

  • Jeśli dokonamy jakichkolwiek zmian w zmiennej globalnej, zmiany te zostaną wdrożone we wszystkich tych miejscach, w których są używane, powodując problem w funkcjonowaniu napisanego kodu.

Rzeczy do zapamiętania

  • Globalne i publiczne mogą być używane zamiennie z tą samą funkcjonalnością.
  • Jeśli nie chcemy używać zmiennej globalnej, możemy postępować zgodnie z procesem pokazanym w przykładzie 1 w celu zdefiniowania zmiennej. Ale byłoby to ograniczone do tego samego modułu.
  • Zmienne globalne mogą być używane w dowolnym module, dowolnej podkategorii, dowolnej klasie lub w dowolnym projekcie.
  • Zmienna globalna podaje dane wyjściowe kodu, w którym trzymaliśmy kursor. Nie uruchomi całego kodu za jednym razem, podając wszystkie dane wyjściowe jeden po drugim.

Polecane artykuły

To jest przewodnik po globalnych zmiennych VBA. Tutaj omawiamy, jak zadeklarować zmienne globalne w programie Excel za pomocą kodu VBA, a także kilka praktycznych przykładów i szablonu programu Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. VBA UserForm
  2. Rozwiąż równanie w programie Excel
  3. Arkusz aktywacji VBA
  4. Jak edytować listę rozwijaną w programie Excel?

Kategoria: