在vba中的列表框中显示搜索到的数据

时间:2016-02-25 07:11:26

标签: vba excel-vba excel

我是VBA编码的新手..

在这种情况下帮助我..

我有一张表格,如表1所示

Data table

&安培;用户形式就像 User form

我需要在这个列表框中显示搜索到的数据...我的逻辑我已经尝试过......

1)保存文本框值的变量 2)第一次尝试使用高级过滤器,但它不起作用 3)然后用find函数尝试它也显示错误..

我试过但它没有显示在列表框中......这是我第一次使用列表框...感谢先进....

2 个答案:

答案 0 :(得分:0)

你可以出示你尝试过的密码吗?如果我不能只评论你的问题,我很抱歉因为我仍然缺乏声誉。谢谢!

请尝试以下代码:

Private Sub cmdSearch_Click()
Dim ws As Worksheet
Dim numRow As Integer
Dim found As Boolean
Set ws = ThisWorkbook.Worksheets("display")
For numRow = 1 To (ws.Range("A" & ws.Rows.Count).End(xlUp).Row)
        If nameTxtBox.Value = ws.Range("A" & numRow).Text Then
            nameList.AddItem (ws.Range("A" & numRow).Value)
            prodList.AddItem (ws.Range("B" & numRow).Value)
            saleList.AddItem (ws.Range("C" & numRow).Value)
            found = True
            Exit For
        End If
Next numRow
If found = False Then
    MsgBox "No Match Found!", vbCritical
    nameList.Clear
    prodList.Clear
    saleList.Clear

End If

End Sub

userForm屏幕截图

userform

Spread Sheet截图:

Spread Sheet

希望这就是你想要做的! 谢谢!

答案 1 :(得分:0)

Access和Excel之间的细节可能会有所不同,以及这些工具的版本......我碰巧在这个例子中使用了Access 2000。

如果您不确定如何查看图标的名称:将鼠标光标悬浮在其上。

  • 我在设计视图中打开了表单
  • 我激活了一个带有“工具箱”图标
  • 的工具栏
  • 我选择了“列表框”
  • 我点击表格并拖动一个盒子形状。这使得标题框包含“List1:”以及列表框
  • 我将标题更改为与我计划使用的表匹配的任何内容,即“tblDomainName”,因此“域名:”
  • 我打开了列表框的属性,然后点击了“行来源”区域。
  • 我根据计划使用的表键入“SELECT DomainName FROM tblDomainName ORDER BY DomainName”,因此如果您的表名为“Stuff”,那么您可以键入双引号内的内容,这里:“SELECT [Name]从东西订购[名称]“......注意方括号以防”名称“是一个保留字,否则可能引起混淆。
  • 我更改为“查看”模式并点击各种值。它们与我桌子上的东西相匹配,而且它们除了之外。耶!

所以,上面的列表框基本上正常工作,让你超越你的第一个障碍......正如我所理解的那样。

下一步是什么?至于你如何使用该列表框和所选值,对你有利....这取决于大图是什么,所以随时详细说明。

这有帮助吗?

〜丹娘