【问题标题】:VBA autocomplete text in combobox组合框中的 VBA 自动完成文本
【发布时间】:2015-12-17 22:44:51
【问题描述】:

我正在创建一个组合框,用于使用具有自动完成功能的工作表名称搜索工作表,我能够在下拉列表中获取工作簿工作表的名称,但是当我输入工作表名称的几个字母时,我想显示包含我在组合框中写的字母的所有工作表的建议。

下面是到目前为止完成的代码,我可以使用它选择工作表名称并导航到该工作表。

1st - 在第一个工作表中添加一个组合框并命名(我称之为 cmbSheet)。我使用了一个 ActiveX 组合框(在 Excel 2007 中,在“开发人员”选项卡下)。

2nd - 打开 VBA 并将以下代码添加到工作簿代码中。每次打开工作簿时,此代码都会使用工作表名称填充组合框。

Private Sub Workbook_Open()
    Dim oSheet As Excel.Worksheet
    Dim oCmbBox As MSForms.ComboBox
    Set oCmbBox = ActiveWorkbook.Sheets(1).cmbSheet
    oCmbBox.Clear
    For Each oSheet In ActiveWorkbook.Sheets
        oCmbBox.AddItem oSheet.Name
    Next oSheet
End Sub

3rd - 现在,我转到我的第一张工作表的代码(已添加组合框的地方)并添加了将激活组合框中选择的工作表的代码。代码是:

Private Sub cmbSheet_Change()
    ActiveWorkbook.Sheets(cmbSheet.Value).Activate
End Sub

现在,当组合框的值发生变化时,相应的工作表就会被激活。

【问题讨论】:

  • 如果工作表的名称是动态更改的,那么上面的链接将不起作用。我不想使用 : With Me.ComboBox1 .AddItem "bat" .AddItem "battleship" .AddItem "battle" .AddItem "batty" .AddItem "bathhouse" End With
  • 完全错误的链接...对不起...trumpexcel.com/2013/10/… 应该给你一个提示(完全在 vba 中完成)...有一个不同的链接完全符合您的要求,但是我再也找不到它了:(

标签: vba excel combobox autocomplete


【解决方案1】:

此解决方案解决了您的部分问题:动态更改工作表名称的问题。

将组合框填充过程移到它自己的方法中。然后从 Workbook_Open 子调用该方法。每次使用 VBA 过程更改工作表名称时,请将行 Call RefreshList 添加到过程的末尾。

    Private Sub Workbook_Open()
        Call RefreshList
    End Sub

    Private Sub RefreshList()
        Dim oSheet As Excel.Worksheet
        Dim oCmbBox As MSForms.ComboBox
        Set oCmbBox = ActiveWorkbook.Sheets(1).cmbSheet
        oCmbBox.Clear
        For Each oSheet In ActiveWorkbook.Sheets
            oCmbBox.AddItem oSheet.Name
            Next oSheet
    End Sub

    Private Sub DynamicallyChangeSheetNames()
        'Do stuff, change a sheet name
        Call RefreshList
    End Sub

要处理手动重命名工作表的人,请查看 https://stackoverflow.com/a/1941199/5103770http://www.cpearson.com/excel/RenameProblems.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2011-10-10
    相关资源
    最近更新 更多