【发布时间】:2016-12-19 15:59:10
【问题描述】:
我有一个名为 UFCustInfo 的用户表单。在工作表区域,我有一个宏来显示表单 -
Private Sub CmdShowInputForm()
UFCustInfo.Show
End Sub
这被分配给工作表上的一个按钮(表单控件)。
在用户窗体区域,我还有一个初始化例程来填充用户窗体上的组合框 -
Private Sub UserForm_Initialize()
Me.CBCustName.List = ActiveSheet.ListObject("CustInfo").ListColumns(1).DataBodyRange.Value
End Sub
当我单击命令按钮显示表单时,我得到 Runtime Error ‘438’: Object does not support this property or method ,并且调试突出显示“UFCustInfo.Show”行。
如果我禁用(注释)初始化行,表单将加载但(当然)组合框不会填充。
我还有代码可以添加新的、清晰的表单和关闭表单,只要我不运行初始化代码,它们都可以正常运行。我错过了什么?
【问题讨论】:
-
什么是“CustInfo”?您的用户窗体的名称是什么?
-
UFCustInfo 是我给用户窗体起的名字。 CustInfo 是表的名称和该表所在的工作表的名称。所以我认为 ActiveSheet.ListObject("CustInfo") 指的是表。
-
您没有提供太多支持信息。我怀疑这是您尝试用“表格”填充列表的地方,但您的“表格”是什么 - 它是范围名称引用 - 还是真正的表格对象?多少行/列?
标签: excel vba combobox userform populate