ComboBox将工作表名称加载到下拉列表中

时间:2018-01-17 11:35:45

标签: excel vba combobox

我似乎无法让组合框工作。我正在尝试添加一个显示工作簿中所有工作表的下拉组合框。 我的第一步是创建一个组合框,添加工作表,但框不添加任何工作表名称

这是我的代码:

Sub ComboBox1_Change()

Dim WS As Worksheet
For Each WS In Worksheets
ComboBox1.AddItem (WS.Name)
Next WS


End Sub

2 个答案:

答案 0 :(得分:0)

问题是您通过事件'更改'添加项目。如果组合框没有变化(因为没有任何项目),这个事件永远不会发生。

相反,您可以将代码添加到表单的“初始化”或“激活事件”中。例如:

Private Sub UserForm_Activate()
    Dim WS As Worksheet
    For Each WS In Worksheets
        ComboBox1.AddItem (WS.Name)
    Next WS
End Sub

答案 1 :(得分:0)

这将得到正确的结果

Private Sub UserForm_Initialize()   
    Dim ws As Worksheet
    For Each ws In Worksheets
    If ws.Name <> "Main" Then
    Me.ComboBoxpgname.AddItem ws.Name
    End If
    Next ws    
End Sub