我有一个全局删除功能的代码:
Public Function delete()
Dim ctl
For Each ctl In add_form.Controls
If TypeOf ctl Is msforms.TextBox Then
ctl.Text = ""
End If
Next ctl
End Function
此代码有效,但仅用于访问1表单。我希望该函数能够访问全局表单。我尝试使用UserForm.Controls
,但输出只是一个带有文本"Object Required"
的调试。
我非常感谢任何帮助,提前谢谢。
答案 0 :(得分:1)
如果您的意思是希望此功能是通用的,那么当您调用它时,您需要将表单传递给它:
Public Function delete(oForm as Object)
Dim ctl
For Each ctl In oForm.Controls
If TypeOf ctl Is msforms.TextBox Then
ctl.Text = ""
End If
Next ctl
End Function
因此,如果您从表单中调用此方法,则只使用Delete Me
。
几点意见: 这个功能可以用一个更好的名字 2.由于您没有返回值,因此通常使用sub而不是函数。