【发布时间】:2021-12-29 10:27:04
【问题描述】:
我的一张工作表中有以下 VBA 代码(即不在模块中):
Option Explicit
Public timing As String
Sub ButtonLoan1_Click()
timing = check_timing()
Application.Run ("loan_" & timing & "_req01")
End Sub
函数check_timing在模块中定义并正常工作:
Function check_timing()
If ActiveSheet.Range("B5") = "Q1 and Q3" Then
timing = "q1q3"
ElseIf ActiveSheet.Range("B5") = "Q2 and Q4" Then
timing = "q2q4"
End If
Exit Function
End Function
但是,运行 ButtonLoan1_Click() Sub 会返回错误,因为变量 timing 是空的,即它没有像我希望的那样从函数 check_timing 获取它的值。我做错了什么?
【问题讨论】:
-
在函数中,您将值分配给函数名称以返回值,因此
check_timing = "q1q3"和check_timing = "q2q4" -
您需要在程序之外公开
timing或将您的退货更改为check_timing