从函数VBA传递变量

时间:2019-02-20 00:24:52

标签: excel vba function

可能很简单。声明为公共变量可能会解决一些问题。

基本上,我具有单击按钮,该按钮运行的代码会调用模块中的函数。该函数根据单元格范围将变量设置为true或false。然后,我想使用另一个按钮调用此函数的结果(对或错),而无需再次运行整个函数,因为此时单元格范围(“ D8”)将有所不同

Private Sub PointDose_Click()  
        Call Approval(Approval_Status)
            If Approval_Status = False Then
                Exit Sub    
            Else
                Do Stuff
            End if
End sub

Public Function Approval(Approval_Status As Variant) As Variant
     If Worksheets("Temp").Range("D8") = "Approved" Then
         Approval_Status = True
     Else
         Approval_Status = False
     End If

End Function

**编辑* 对于那些在家里玩的人,我发现了一个解决方案,只需将函数的结果分配给一个公开声明的变量即可。

Public Approval_Public As Boolean


Private Sub PointDose_Click()  
    Call Approval(Approval_Status)
    Approval_Public = Approval_Status
    If Approval_Status = False Then
        Exit Sub    
    Else
        Do Stuff
    End if
End sub

然后我可以稍后在代码中简单地调出该变量的值,而不用重新运行该函数

0 个答案:

没有答案