自动完成,仅包含文本而不包含数字ComboBox Excel VBA

整合这里

假设我在Excel VBA中有一个ComboBox,其中包含以下信息:

1234 apples
2345 pears
2367 oranges

我希望用户能够键入'a'或'ap'或'app'等。这样,自动完成功能将建议使用1234个苹果。到目前为止,只有当用户键入条目的开头部分(即我的数字)时,组合框才会自动完成。谢谢

整合这里

所以首先给这个答案一些背景。SectorDropDown1_1(是表单的一部分)是一个下拉列表,其中填充有数字值和来自列J的字符串值的并置字符串。在这种情况下,_change()方法响应用户输入值。我在电子表格“ SectorSearch”中有2列“ R”和“ S”,已将数字和文本分开。因此,现在如果用户输入数字或文本,则将在“下拉列表”中选择适当的值。但这是问题所在,我的代码有点笨拙地跳到了正确的值,因此我想“使事情变得顺畅”,这样一来,用户输入超过2个与适当值匹配的字符后,便可以选择此值下拉列表显示附近的值。

Option Explicit

Private Sub SectorDropDown1_1_Change()

Dim i As Long
Dim StringRange1 As String
Dim StringRange2 As String
Dim Stringrange3 As String
Dim LengthOfValue As Integer
Dim TotalSectorCodes As Integer

If SectorDropDown1_1.Value <> "" And Len(SectorDropDown1_1.Value) > 2 Then
    TotalSectorCodes = Worksheets("SectorSearch").Range("J:J").Cells.SpecialCells(xlCellTypeFormulas).Count
    LengthOfValue = Len(SectorDropDown1_1.Value)
    For i = 2 To TotalSectorCodes
        StringRange1 = "R" & CStr(i)
        StringRange2 = "S" & CStr(i)
        Stringrange3 = "J" & CStr(i)
        Select Case SectorDropDown1_1.Value
            Case Left(Worksheets("SectorSearch").Range(StringRange1).Value, LengthOfValue)
                SectorDropDown1_1.Value = Worksheets("SectorSearch").Range(Stringrange3).Value
                Exit For
            Case Left(Worksheets("SectorSearch").Range(StringRange2).Value, LengthOfValue)
                SectorDropDown1_1.Value = Worksheets("SectorSearch").Range(Stringrange3).Value
                Exit For
            Case Else
                '...
        End Select
    Next i
End If

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Excel VBA中“包含”?

来自分类Dev

VBA Excel:对于包含字母数字或仅数字内容的单元格,如何遍历B列?

来自分类Dev

删除包含excel vba的行

来自分类Dev

自动文本大写Excel VBA

来自分类Dev

Excel VBA文本到数字

来自分类Dev

ComboBox清除Excel VBA

来自分类Dev

自动分组Excel VBA

来自分类Dev

Excel VBA自动筛选

来自分类Dev

Excel VBA-条件格式,间隔中不包含索引

来自分类Dev

Excel VBA如果单元格包含文本则删除行

来自分类Dev

通过VBA包含双引号的Excel公式

来自分类Dev

Excel VBA计算包含特定值的行

来自分类Dev

包含计算值的Excel VBA格式页脚

来自分类Dev

Excel VLOOKUP不匹配仅包含数字的值

来自分类Dev

Excel VBA Combobox OnExit事件

来自分类Dev

使 Excel VBA 等待操作完成

来自分类Dev

Excel VBA自动填充目标

来自分类Dev

Excel VBA 自动筛选代码

来自分类Dev

Excel VBA 自动填充问题

来自分类Dev

excel vba 数字排序表

来自分类Dev

类型不匹配:Excel VBA

来自分类Dev

类型不匹配Excel VBA

来自分类Dev

类型不匹配:Excel VBA

来自分类Dev

文本到行VBA Excel

来自分类Dev

Excel VBA使文本暂时显示

来自分类Dev

Excel VBA使文本暂时显示

来自分类Dev

(Excel VBA)如何将ComboBox的自动完成功能显示为下拉列表

来自分类Dev

Excel VBA仅连接已过滤列的可见单元格。包含测试代码

来自分类Dev

Excel VBA-我的动态数组仅包含最后添加的值