[英]Error 424 Object required 3
有人可以帮我弄清楚为什么我会收到此错误吗? 这是我的代码,它说错误从第3行开始。
Sub Select_Button()
Msg = ""
For i = 0 To ListBox7.ListCount - 1
If ListBox7.Selected(i) Then
Msg = Msg & ListBox7.List(i) & vbNewLine
End If
Next i
MsgBox "You Selected: " & vbNewLine & Msg
Unload UserForm
End Sub
UserForm
是类 ,而不是对象 。 Unload
用于卸载对象 。
错误源于此行:
Unload UserForm
如果您的表单名为UserForm1
,则应显示为:
Unload UserForm1
但是,这有悖于最佳做法,最终会在后端给您带来痛苦。
表单具有默认的全局实例 ,因此在执行此操作时:
UserForm1.Show vbModal
您正在使用默认实例 ,而不是新对象。 如果执行Unload UserForm1
,则要卸载该默认实例 ,这意味着如果您执行正确的操作并使用如下对象 :
With New UserForm1
.Show vbModal
'...
End With
然后,卸载默认实例将绝对不会执行您认为会做的事情。
这就是为什么要在每次要引用对象的当前实例时都使用Me
关键字的原因。 因此,要卸载UserForm1
对象的当前实例 ,您需要执行以下操作:
Unload Me
考虑调用Me.Hide
而不是卸载对象,并在表单的代码隐藏之外实现逻辑。 将来你会很感激的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.