2017-06-03 117 views
2

我有2个工作簿test1(有3张)和测试(有1张)。将一个工作簿的工作表的名称添加到另一个工作簿的组合框中

测试我有一个名为ComboBox1。我的组合框必须从工作簿test1的在这个ComboBox1添加纸张的名称。

我写了下面的代码

Sub Workbook_open() 

Dim sht As Worksheet 

Set wkbSource = Workbooks.Open("test1.xls") 

For Each sht In wkbSource.Worksheets 

ActiveWorkbook.Worksheets(1).ComboBox1.AddItem sht.Name 

Next sht 

End Sub 

这是给我一个错误

错误:对象不支持就行此属性或方法 ActiveWorkbook.Worksheets(1).ComboBox1 .AddItem sht.Name

我该如何解决?

回答

3

由于您使用ActiveWorkbook而出现此错误。打开"test1.xls"后,它变为活动状态,因此线路ActiveWorkbook.Worksheets(1).ComboBox1.AddItem sht.Name因无法找到组合框而失败。

ThisWorkbook

ThisWorkbook.Worksheets(1).ComboBox1.AddItem sht.Name 
+0

是perfect.Thanks :) 更换ActiveWorkbook,如果我不想打开工作簿什么,只是想设置的路径? – user3126632

+0

要获取表单名称,您必须打开它。否则使用ADODB从封闭的工作簿中获取表名 –

相关问题