首页 文章

如何将特定工作表的列表添加到ComboBox VBA中的列表

提问于
浏览
1

我找到了一种方法将工作簿中的所有工作表添加到UserForm上的ComboBox列表中,这是使用以下代码完成的

Private Sub UserForm_Initialize()
    Dim ws As Worksheet
    For Each ws In Worksheets
        cmbSheet.AddItem ws.Name
    Next ws
End Sub

我的问题是我只需要添加一些特定的工作表而不是所有工作表 . 例如,我的用户将选择特定工作表,单击“继续”按钮应该最终在所选工作表上继续他/她的任务 . 我的工作簿包含几个工作表,其中一些用于输出数据(Reports),一些工作表包含所谓的模板,我希望我的用户(只有那些)能够从我上面讨论过的ComboBox中进行选择 .

你能帮帮我吗?

2 回答

  • 2

    也许你可以使用工作表的命名约定?

    如果您希望用户选择的报告都在其名称中包含单词temmplate,您可以执行以下操作:

    Private Sub UserForm_Initialize()
        Dim ws As Worksheet
        For Each ws In Worksheets
            if instr(lcase(ws.name),"template")<>0 then
                cmbSheet.AddItem ws.Name
            end if
        Next ws
    End Sub
    
  • 3
    Private Sub UserForm_Initialize()
        Dim ws As Worksheet
        For Each ws In Worksheets
            if ws.Name like "*Template" then cmbSheet.AddItem ws.Name
        Next ws
    End Sub
    

相关问题