VBA Sub - Jak wywołać procedurę podrzędną w kodzie VBA?

Procedura podrzędna Excel VBA

SUB w VBA jest również znany jako podprogram lub procedura, która zawiera cały kod, jest to instrukcja wbudowana w VBA i gdy jest używana, automatycznie podaje nam instrukcję end sub, a środkowa część jest używana do kodowania, instrukcja sub może być zarówno publiczne, jak i prywatne, a nazwa podprocedury jest obowiązkowa w języku VBA.

Sub oznacza procedurę podrzędną w języku VBA. Procedury podrzędne służą do wykonywania określonego zestawu zadań udostępnianych w postaci kodu. Wykonuje tylko zadanie wymienione w kodzie zgodnie z językiem VBA, ale nie zwraca żadnej wartości.

Jak napisać procedury podrzędne VBA?

Aby napisać kody podprocedur, ważne jest zrozumienie struktury podprocedury. Poniżej znajduje się struktura

Sub (nazwa procedury) (parametry) (co należy zrobić?)) End Sub

Aby rozpocząć podprocedurę, musimy użyć słowa „Sub” i podać nazwę Sub jako nazwę procedury. Nazwa procedury to nic innego jak nazwa naszego makra. W podprocedurze VBA zwykle nie mamy parametrów w nawiasach.

Po wpisaniu nazwy procedury Sub, musimy napisać zadania, które należy wykonać. Następnie pojawia się instrukcja End, czyli End Sub.

Przykład 1 - Prosta procedura podrzędna

Przyjrzyjmy się teraz prostym metodom pisania podprocedur.

Krok 1: Rozpocznij słowo „Sub” w module.

Krok 2: Teraz nazwij nazwę makra lub nazwę procedury.

Krok 3: Po nadaniu nazwy podprocedurze wystarczy nacisnąć klawisz Enter, automatycznie zastosuje ona instrukcję end.

Teraz widzimy tutaj dwie rzeczy, jedna to początek, a druga to koniec podprocedury. Dla lepszego zrozumienia możemy nazwać to „głową” i „ogonem”.

Między początkiem a ogonem makra musimy napisać nasz kod, aby wykonać jakieś zadanie.

Przykład # 2 - Proste zadanie podprogramu

Ok, teraz zobaczymy, jak wykonać tutaj prostą czynność.

Załóżmy, że chcesz wstawić wartość „Excel VBA” do komórki A1.

Krok 1: Uruchom podprocedurę przy użyciu powyższych metod.

Kod:

Sub Action1 () End Sub

Krok 2: Aby uzyskać dostęp do komórki A1, musimy użyć słowa RANGE.

Kod:

Sub Action1 () Range (End Sub

Krok 3: Pytanie dotyczy komórki 1, do której chcesz się odnieść? W tym przypadku jest to komórka A1.

Kod:

Sub Action1 () Range ("A1") End Sub

Krok 4: Musimy wstawić wartość „Excel VBA”, więc wybierz właściwość WARTOŚĆ, umieszczając kropkę po zakresie.

Kod:

Sub Action1 () Range („A1”). Value End Sub

Gdy zaczniesz wpisywać słowo VALUE, zobaczysz wiele opcji, a te opcje są nazywane listą IntelliSense, która przewiduje na podstawie tego, co wpisujesz. To tak, jak formuły pojawią się w arkuszu, gdy zaczniemy pisać formułę.

Krok 5: Po wybraniu WARTOŚCI, umieść znak równości i wprowadź wartość w podwójnych cudzysłowach jako „Excel VBA”.

Kod:

Sub Action1 () Range („A1”). Value = „Excel VBA” End Sub

Więc skończyliśmy.

Teraz musimy wykonać to zadanie. Aby wykonać zadanie, musieliśmy wrócić. Musimy uruchomić ten kod, naciskając przycisk RUN w oknie edytora Visual Basic.

Możemy również nacisnąć klawisz skrótu programu Excel, umieszczając kursor wewnątrz kodu makra.

Gdy tylko uruchomisz kod, w komórce A1 otrzymasz wartość „Excel VBA”.

Typy podprogramów VBA

W procedurze podrzędnej mamy jeszcze dwa typy: jeden to procedura publiczna, a drugi to procedura prywatna.

Słowa „Publiczny” i „Prywatny” to modyfikatory dostępności, które pozwalają nam inaczej używać ich procedur podrzędnych.

  • Public Sub Procedura pozwala nam używać tej procedury we wszystkich modułach skoroszytu.
  • Procedura Private Sub pozwala nam używać tej procedury tylko w bieżącym module, nigdzie indziej.

Na przykład spójrz na poniższy obraz kodu publicznego, który znajduje się w module 1.

Teraz w module 2 również mogę skorzystać z tej podprocedury.

Akcja1 to nazwa podprocedury, której użyliśmy w module 1.

W module 2 wspomniałem o tym jako „Call Action1”. Oznacza to, że po uruchomieniu podprocedury wykona ona podprocedurę Action1 z modułu 1.

Nie można uzyskać dostępu do prywatnych procedur podrzędnych z innego modułu. Musimy mieć do nich dostęp tylko z tego samego modułu.

Interesujące artykuły...