Zmienne publiczne VBA - Jak zadeklarować zmienne publiczne w VBA (przykłady)

Spisie treści

Zmienne publiczne w VBA

„Zmienne publiczne” w języku VBA, jak sama nazwa wskazuje, to zmienne zadeklarowane jako używane publicznie dla wszystkich makr, które piszemy w tym samym module, a także w różnych modułach. Tak więc, gdy zmienne są zadeklarowane na początku dowolnego makra, nazywane są „Zmienne publiczne” lub „Zmienne globalne”.

Jak zadeklarować zmienne publiczne w VBA?

Zwykle rozpoczynamy podprocedurę VBA i wewnątrz podprocedury deklarujemy nasze zmienne. Jest to powszechna praktyka, którą wszyscy robiliśmy przed tym artykułem.

Za każdym razem, gdy piszemy nową podprocedurę, deklarujemy nowe zmienne z przypisanymi do nich typami danych. Ale dzisiaj pożegnamy się z powtarzającymi się zmiennymi w podprocedurach.

Przypomnijmy sobie stary styl. Poniżej znajduje się kod, który napisałem z jedną zmienną.

W procedurze podrzędnej „Public_Variable” zadeklarowałem tę zmienną. Teraz nie mogę używać żadnego z pozostałych modułów.

Teraz w podprocedurze „Public_Variable1” nie możemy użyć zmiennej „Var1”, która została zadeklarowana w pierwszej podprocedurze „Public_Variable”. Jest to ograniczenie deklarowania zmiennych wewnątrz podprocedur.

# 1 - Zmienne poziomu modułu

Jak wszyscy wiemy, piszemy makra w modułach. Możemy wstawić kilka modułów. W VBA możemy zadeklarować dwa rodzaje „Zmiennych publicznych”, jeden to użycie zmiennych dla wszystkich podprocedur w tym samym module, a drugi to użycie zmiennych dla wszystkich podprocedur we wszystkich modułach.

Najpierw zobaczymy deklarowanie zmiennych publicznych w VBA na poziomie modułu.

Aby użyć zmiennych dla wszystkich podprocedur w tym samym module, musimy zadeklarować zmienne w górnej części modułu, zanim uruchomimy jakiekolwiek makra.

Poniżej znajduje się przykładowy zrzut ekranu do zrozumienia.

Jak widać na powyższym obrazku, przed uruchomieniem makra w module zadeklarowałem dwie zmienne. Teraz te dwie zmienne mogą być używane w dowolnej liczbie makr w tym module.

Wewnątrz podprocedury zaczyna wpisywać nazwę zmiennej, na której widać listę IntelliSense, która wyświetli nazwy zmiennych.

Teraz możemy użyć tych zmiennych we wszystkich makrach, które piszemy w „Module1”.

Te zmienne są ograniczone do wykorzystania tylko w tym module. Na przykład teraz wstawię jeszcze jeden moduł i napiszę nowe makro.

W Module2 nie mogę używać tych zmiennych, które zadeklarowaliśmy w „Module1”.

Jak więc możemy upublicznić te zmienne w VBA, aby były używane we wszystkich modułach i we wszystkich procedurach podrzędnych?

# 2 - Zadeklaruj zmienne używaj ich publicznie

Wróć do „Module1” w tym module. Zadeklarowaliśmy zmienne, zanim zaczniemy pisać sposób działania makra, a także w jakim świecie zadeklarowaliśmy te zmienne.

W naszym tradycyjnym sposobie używania słowa „DIM” zadeklarowaliśmy te zmienne.

Kiedy używamy tylko słowa „DIM”, można go używać tylko we wszystkich makrach, ale w tym samym module.

Zamiast słowa „DIM” musimy użyć słowa „PUBLIC” lub „GLOBAL”, aby udostępnić je we wszystkich modułach makr.

Użyłem słowa „Global”, aby upublicznić deklarację zmiennej. Możesz również użyć słowa „Publiczny”.

Tak więc, używając słów „Global” i „Public”, możemy zadeklarować zmienne, które mogą być używane dla wszystkich makr w modułach.

Rzeczy do zapamiętania

  • Dobrą praktyką jest publiczne deklarowanie zmiennych, ale przed ich zadeklarowaniem konieczne jest duże doświadczenie.
  • Po uruchomieniu makr wartość zmiennej w makrze będzie taka sama.
  • Przypisz określoną wartość do zmiennej wewnątrz określonego makra, aby uniknąć nieporozumień.

Interesujące artykuły...