【问题标题】:Adding name of the sheets of one workbook to combo box of another workbook将一个工作簿的工作表名称添加到另一个工作簿的组合框
【发布时间】:2017-06-03 14:18:17
【问题描述】:

我有 2 个工作簿 test1(有 3 张)和 tests(有 1 张)。

tests 中,我有一个名为 ComboBox1 的组合框。我必须在此 中添加工作簿 test1 中的工作表名称>组合框1.

我写了以下代码

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

它给了我一个错误

ERROR : 对象不支持该属性或在线方法 ActiveWorkbook.Worksheets(1).ComboBox1.AddItem sht.Name

我该如何解决?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

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

    ActiveWorkbook 替换为ThisWorkbook

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

    【讨论】:

    • 是的,完美。谢谢 :) 如果我不想打开工作簿而只想设置路径怎么办?
    • 要获得工作表名称,您必须打开它。否则使用 ADODB 从关闭的工作簿中获取工作表名称
    猜你喜欢
    • 2021-02-26
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    相关资源
    最近更新 更多