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

时间:2017-06-03 14:18:18

标签: excel vba excel-vba

我有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

我该如何解决?

1 个答案:

答案 0 :(得分:4)

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

ActiveWorkbook替换为ThisWorkbook

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