Функции в VBA немного забавны тем, что у них нет оператора return
, как в некоторых других языках. Чтобы вернуть значение из функции, нужно присвоить значение имени функции.
Итак, внутри Verifica_Permite_Gas
, вам просто нужно убедиться, что в какой-то момент у вас есть Verifica_Permite_Gas = result
вы можете представить, что каждый Function
содержит Dim Verifica_Permite_Gas As ...
где-то там, где вам нужно записать результат.
Так что просто избавьтесь от Dim permit As Boolean
и вместо этого используйте:
Public Function Verifica_Permite_Gas()
' Se a torneira permite gasta
If Permite_GAS Then
Verifica_Permite_Gas = True
Else
' Não permite
Debug.Print "Erro torneira nao devia conter Gas - Torneira_3 - metodo Permite_GAS"
Verifica_Permite_Gas = False
End If
End Function
Также помните, что вы объявили permit As Boolean
- ну, вы можете сделать то же самое с возвращаемым значением вашей функции, так что оно
Public Function Verifica_Permite_Gas() As Boolean