【问题标题】:Excel VBA: Searching for value in listbox based on value set in textboxExcel VBA:根据文本框中设置的值在列表框中搜索值
【发布时间】:2014-10-03 07:22:46
【问题描述】:

我正在尝试为搜索按钮编写代码,该按钮基于文本框中的特定输入集搜索列表框。 搜索的值始终是数字,并且列表框包含来自单个列的值。 我写的代码可以在下面找到,但我不明白为什么它不起作用。

传说:

  • SearchButton:点击后应该启动搜索的按钮
  • SearchBox:将包含搜索值的文本框
  • AvailableNumberList:包含数据的列表框

感谢您的帮助:)

Private Sub SearchButton_Click()
Dim SearchCriteria, i, n As Double
SearchCriteria = Me.SearchBox.Value
n = AvailableNumberList.ListCount
For i = 0 To n - 1
If SearchCriteria = i Then
AvailableNumberList.ListIndex = i
End If
Next i
End Sub

【问题讨论】:

    标签: vba excel listbox


    【解决方案1】:

    这是你正在尝试的吗?

    'If SearchCriteria = i Then
    If AvailableNumberList.List(i) = SearchCriteria Then
    

    一旦找到匹配项,也可以使用Exit For :)

    【讨论】:

    • (我在编码方面有点菜鸟,所以我以前没有使用过“退出”)你能指出我应该在哪里设置吗?谢谢:)
    • 行后AvailableNumberList.ListIndex = i
    • 完美。谢谢你:)
    • 谢谢,这对我帮助很大!
    【解决方案2】:

    除了@Siddharth Rout 解决方案,此代码允许在 ListBox 中搜索,即使 TextBox 没有完整的单词/数字:

    Private Sub SearchButton_Click()
    
    Dim SearchCriteria, i, n As Double
    SearchCriteria = Me.SearchBox.Value
    n = AvailableNumberList.ListCount
    
    For i = 0 To n - 1
    If Left(AvailableNumberList.List(i),Len(SearchCriteria))=SearchCriteria Then
    AvailableNumberList.ListIndex = i
    Exit For
    End If
    Next i
    
    End Sub
    

    感谢大家的代码! =D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      相关资源
      最近更新 更多