【发布时间】:2012-09-06 17:16:42
【问题描述】:
我正在创建一个 VBA 应用程序,我有以下代码:
Dim previousCell As range
Private Sub Worksheet_SelectionChange(ByVal target As range)
Application.EnableEvents = False
On Error GoTo ws_exit:
Set previousCell = target
getEffort (previousCell) '**Here i get object required**
ws_exit:
Application.EnableEvents = True
MsgBox Err.Description
End Sub
Private Function getEffort(ByVal cell As range)
' do soemthing
End Sub
我不确定为什么会收到错误消息:Object required error at getEffort(previousCell)。如果我传入Target,它会起作用。
谢谢
【问题讨论】:
-
应该 Private Function 是 Private Sub,因为您不关心返回值并且 Private Function 以“END SUB”结尾?跨度>
-
在调用 getEffort 时不要使用括号。如果您使用括号,那么您的代码将期望返回值(getEffort 是否返回任何内容?)
-
注意:如果您在子名称前输入
Call-Call getEffort(previousCell),则可以使用括号