Excel 为什么传递参数会生成错误argumenttype ByRef?

Excel 为什么传递参数会生成错误argumenttype ByRef?,excel,vba,ms-word,Excel,Vba,Ms Word,我在VBA中为邮件合并编写了延迟代码。 我以前从未使用过VBA 邮件合并工作正常。现在我想在呼叫暂停(15)中输入一个随机数,而不是固定的延迟 但是,如果我插入的不是15-MyValue,则会出现错误argumenttype ByRef,假设您希望将下面的15替换为300-480范围内的值: Call Pause(15) 这应成为: Dim PauseDelay As Integer PauseDelay = Int((480 - 300 + 1) * Rnd + 300) ' Stores

我在VBA中为邮件合并编写了延迟代码。
我以前从未使用过VBA

邮件合并工作正常。现在我想在
呼叫暂停(15)
中输入一个随机数,而不是固定的延迟


但是,如果我插入的不是15-MyValue,则会出现错误argumenttype ByRef

,假设您希望将下面的15替换为300-480范围内的值:

Call Pause(15)
这应成为:

Dim PauseDelay As Integer
PauseDelay = Int((480 - 300 + 1) * Rnd + 300) ' Stores the random interval between 300-480
Call Pause(PauseDelay) ' Calls Pause with the random interval

有什么东西是我忽略的吗?这段代码向前看,您似乎已经找到了答案

嘿,Martin,出现了错误消息参数类型ByRef Compatible我找到了解决方案,我的延迟声明为长延迟,我的随机延迟声明为整数
Call Pause(15)
Dim PauseDelay As Integer
PauseDelay = Int((480 - 300 + 1) * Rnd + 300) ' Stores the random interval between 300-480
Call Pause(PauseDelay) ' Calls Pause with the random interval