application.ontime vba传递变量

时间:2018-09-16 18:44:09

标签: vba excel-vba

我正在尝试使用application.on time方法将变量(字符串)传递给工作簿的module1中的子对象。 下面的代码运行正常

Sub calar()
strText = "appl"
Application.OnTime Now + TimeValue("00:00:02"), "!Module1.cld"
End Sub

Sub cld()
MsgBox ("called" & slk)
End Sub

但是当我尝试传递如下所示的参数时,出现错误:

Sub calar()
strText = "appl"
Application.OnTime Now + TimeValue("00:00:02"), "'!Module1.cld ""Hello!""'"
End Sub

Sub cld(ByVal slk As String)
MsgBox ("called" & slk)
End Sub

我想将strText作为参数传递,请帮忙。

1 个答案:

答案 0 :(得分:2)

尝试删除第一个感叹号...

Application.OnTime Now + TimeValue("00:00:02"), "'Module1.cld ""Hello!""'"

传递变量...

Application.OnTime Now + TimeValue("00:00:02"), "'Module1.cld """ & strText & """'"