简单描述一下,vba中我建立了一个窗体叫A,我在模块中写了一个过程
Sub test()
Dim myform as userform
Set myform=A
A.show
End sub
然后执行到show的时候就会报错,请指点一下如何实例化A.show能执行
简单描述一下,vba中我建立了一个窗体叫A,我在模块中写了一个过程
Sub test()
Dim myform as userform
Set myform=A
A.show
End sub
然后执行到show的时候就会报错,请指点一下如何实例化A.show能执行
UserForm 类型的变量。相反,你需要创建一个窗体的新实例,然后显示这个实例。假设你的用户窗体名为 UserForm1,以下是在VBA中实例化并显示该窗体的代码:
Sub test()
Dim myForm As UserForm1
' 创建UserForm1的一个新实例
Set myForm = New UserForm1
' 显示表单
myForm.Show
End Sub
如果你确实命名你的窗体为 A,那么你应该这样做:
Sub test()
Dim myForm As A
' 创建A的一个新实例
Set myForm = New A
' 显示表单
myForm.Show
End Sub
请注意,要让 New 关键字工作,你需要在VBA编辑器中的 "工具" > "引用" 中勾选 "Microsoft Forms 2.0 Object Library"(或类似名称的库),但通常情况下,如果你已经在VBA项目中创建了UserForm,那么这个库应该已经默认引用了。
同时,请确保你的窗体名正确无误,并且没有将窗体模块的名字和窗体实例的名字搞混。在VBA中,窗体有两个名称:一个是窗体的名字,另一个是窗体代码模块的名字。这两者可以不同。通常,你实例化的应该是窗体的名字,不是代码模块的名字。
如果出现错误,检查窗体名称是否正确,并且没有其他语法或运行时错误。此外,确保你没有在VBA中重复使用窗体的名称,因为这可能会导致冲突。