【发布时间】:2018-11-26 12:50:06
【问题描述】:
我对 VBA 很陌生,所以如果这个问题看起来很愚蠢,我深表歉意:我已经设置了一个包含一些控件的用户窗体,并创建了一个名为 ResetMyField 的函数,如下所示:
Function ResetMyField(MyField As Object)
If MyField = ProjectReference Then
'do something different and then
End If
MyField.Value = ""
End Function
当我使用ResetMyField(ProjectReference) 调用此函数时,VBA 出现 424 错误(需要对象)。我应该在函数中将MyField 声明为不同类型的变量吗?
函数和我调用它的点都在 Userform 模块中。
任何帮助将不胜感激。
【问题讨论】:
-
ProjectReference 是我在用户窗体上的一个组合框的名称 - 如果不清楚,请见谅
-
哪一行会抛出这个错误?如果您不返回可以使用过程 (
Sub) 的东西,为什么要使用function。您能否edit 您的问题并添加您如何准确调用ResetMyField的代码?如果您正在测试 2 个对象是否相等,我建议您测试它们的名称是否相等MyField.Name = ProjectReference.Name
标签: excel vba function userform