Funkcja Excel VBA i podrzędna - łatwe makra Excel

Spisie treści

Funkcja | Pod

Różnica między funkcjonować i pod w Excel VBA jest to, że funkcja może zwrócić wartość, podczas gdy sub nie. Funkcje i podrzędne stają się bardzo przydatne wraz ze wzrostem rozmiaru programu.

Funkcjonować

Jeśli chcesz, aby Excel VBA wykonał zadanie, które zwróci wynik, możesz użyć funkcji. Umieść funkcję w module (w Edytorze Visual Basic kliknij Wstaw, Moduł). Na przykład funkcja o nazwie Area.

Obszar funkcji (x jako podwójne, y jako podwójne) jako podwójne
Pole = x * y
Koniec funkcji

Wyjaśnienie: Ta funkcja ma dwa argumenty (typu Double) i typ zwracany (część po As również typu Double). Możesz użyć nazwy funkcji (Area) w swoim kodzie, aby wskazać, który wynik chcesz zwrócić (tutaj x * y).

Możesz teraz odwołać się do tej funkcji (innymi słowy wywołać funkcję) z innego miejsca w kodzie, po prostu używając nazwy funkcji i podając wartość dla każdego argumentu.

Umieść przycisk polecenia w arkuszu i dodaj następujące wiersze kodu:

Dim z jak podwójne
z = Powierzchnia(3, 5) + 2
MsgBox z

Wyjaśnienie: Funkcja zwraca wartość, więc musisz „złapać” tę wartość w swoim kodzie. Możesz użyć do tego innej zmiennej (z). Następnie możesz dodać kolejną wartość do tej zmiennej (jeśli chcesz). Na koniec wyświetl wartość za pomocą MsgBox.

Wynik po kliknięciu przycisku polecenia na arkuszu:

Pod

Jeśli chcesz, aby Excel VBA wykonywał niektóre czynności, możesz użyć sub. Umieść sub w module (w Edytorze Visual Basic kliknij Wstaw, Moduł). Na przykład sub o nazwie Area.

Podobszar (x jako podwójny, y jako podwójny)
MsgBox x * y
Napis końcowy

Objaśnienie: Ten podrzędny ma dwa argumenty (typu Double). Nie ma typu zwrotu! Możesz odwołać się do tego sub (wywołaj sub) z innego miejsca w kodzie, po prostu używając nazwy sub i podając wartość dla każdego argumentu.

Umieść przycisk polecenia w arkuszu i dodaj następującą linię kodu:

Obszar 3, 5

Wynik po kliknięciu przycisku polecenia na arkuszu:

Czy widzisz różnicę między funkcją a sub? Funkcja zwróciła wartość 15. Dodaliśmy wartość 2 do tego wyniku i wyświetliliśmy wynik końcowy. Kiedy wywołaliśmy sub, nie mieliśmy już kontroli nad wynikiem (15), ponieważ sub nie może zwrócić wartości!

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave