Vba 将一个工作簿的工作表名称添加到另一个工作簿的组合框

Vba 将一个工作簿的工作表名称添加到另一个工作簿的组合框,vba,excel,Vba,Excel,我有两本工作手册test1(有3页)和tests(有1页) 在测试中我有一个名为ComboBox1的组合框。我必须将工作簿test1中的工作表名称添加到此Combox1中 我已经编写了以下代码 Sub Workbook_open() Dim sht As Worksheet Set wkbSource = Workbooks.Open("test1.xls") For Each sht In wkbSource.Worksheets ActiveWorkbook.Worksheets(1

我有两本工作手册test1(有3页)和tests(有1页)

测试中我有一个名为ComboBox1的组合框。我必须将工作簿test1中的工作表名称添加到此Combox1

我已经编写了以下代码

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


如何修复它?

由于您使用了
ActiveWorkbook
,因此出现了该错误。打开
“test1.xls”
后,它将变为活动状态,因此行
ActiveWorkbook.Worksheets(1).ComboBox1.AddItem sht.Name
因找不到组合框而失败

活动工作簿
替换为
此工作簿

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

是的,太好了。谢谢:)如果我不想打开工作簿,只想设置路径怎么办?要获取工作表名称,您必须打开它。否则,请使用ADODB从关闭的工作簿中获取工作表名称