Jak zwrócić wartość z funkcji vba (z przykładami)


Aby zwrócić wartość z funkcji w VBA, należy przypisać wartość do nazwy funkcji.

Na przykład możemy utworzyć następującą funkcję dzielącą dwie wartości, a następnie zwrócić wynik podziału:

 Function DivideValues(x,y)
    DivideValues = x / y
End Function

Nazwa tej funkcji to DivideValues , więc aby zwrócić wartość z tej funkcji, musimy przypisać wynik x/y do zmiennej o tej samej nazwie z DivideValues .

Jeśli Twoja funkcja wykorzystuje logikę If Else , możesz wielokrotnie przypisać wartość do nazwy funkcji.

Na przykład możesz utworzyć następującą funkcję, która zwróci „Nie można dzielić przez zero”, jeśli spróbujesz podzielić przez zero, lub po prostu zwróci wynik dzielenia:

 Function DivideValues(x,y)
    If y = 0 Then
      DivideValues = " Cannot divide by zero "
    Else
      DivideValues = x / y
    End If
End Function

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Jak zwrócić wartość z funkcji VBA

Załóżmy, że chcemy utworzyć w VBA funkcję dzielącą wartość komórki A2 przez wartość komórki B2 :

W tym celu możemy utworzyć następującą funkcję:

 Function DivideValues(x,y)
    DivideValues = x / y
End Function

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Funkcja zwraca wartość 5 , która jest wynikiem podzielenia liczby 50 przez 10.

Moglibyśmy również utworzyć funkcję korzystającą z logiki If Else, aby najpierw sprawdzić, czy wartość, przez którą dzielimy, nie jest równa zero:

 Function DivideValues(x,y)
    If y = 0 Then
      DivideValues = " Cannot divide by zero "
    Else
      DivideValues = x / y
    End If
End Function

Jeśli zmienimy wartość w komórce B2 , a następnie skorzystamy z tej funkcji, aby wykonać dzielenie, otrzymamy następujący wynik:

Ponieważ próbowaliśmy podzielić przez zero, funkcja zwraca „Nie można dzielić przez zero”.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

Jak skomentować blok kodu w VBA
Jak sprawdzić, czy plik istnieje za pomocą VBA
Jak tworzyć foldery za pomocą VBA

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *