我在“开始”工作表中有一个名为“ Listbox1”的ActiveX列表框。
为什么ThisWorkbook.Worksheets("START").ListBox1.AddItem ("a")
有效,以及
shStart.ListBox1.AddItem ("b")
没有。
我收到此错误:Method or data member not found
Dim tw As Workbook
Dim shStart As Worksheet
Set tw = ThisWorkbook
Set shStart = tw.Worksheets("START")
ThisWorkbook.Worksheets("START").ListBox1.AddItem ("a")
shStart.ListBox1.AddItem ("b")
答案 0 :(得分:1)
Worksheet
类是non-extensible。这意味着,如果您声明类型为Worksheet
的变量,则只能调用以Worksheet
类型预先声明的方法和属性。除此之外,您无法访问在工作表上定义的任何方法或属性。
您的选择是:
将变量声明为精确工作表的类型(使用其codename)
Dim shStart as Sheet1
将变量声明为Object
Worksheets("START")
语法(它也会返回Object
,这也是为什么它也可以工作的原因。)