listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)

详细讲解Listbox控件在窗体中的运用

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(1)

概述:在我们工作中会遇到会将数据导入到列表框(listbox)的形式来方便数据的查看与查询。再通过VBA代码可在Excel中轻松实现数据的查询和导入。本文以最新发布的“物料管理系统2.0”为例进行讲解。

  • 导入数据到列表框

1.1 在窗体中创建列表框

在Excel按Alt F11进入VBA界面,鼠标右击空白处插入窗体。

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(2)

1.2 在工具箱选择列表框控件,并在刚刚新建的窗体中拖动大小到合适位置。

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(3)

1.3 在工具箱选择命令按钮,并在窗体中拖动成查询按钮。

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(4)

1.4 添加数据源(sheet2)的数据到列表框。

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(5)

1.4.1双击“查询”按钮,并在按钮下输入如下代码:(下方红色字体为代码注释)

Private Sub CommandButton2_Click()

a = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row

(获取数据源工作表数据的行数)

If TextBox1 = "" Then Sheet2.Range("b1") = ""

ListBox1.Clear (清空列表框的内容)

ListBox1.ColumnWidths = "120;90;150;50;50;90;50;70;80" (列表框每列的宽度)

ListBox1.ColumnCount = 9 (列表框的列数)

ListBox1.AddItem Sheet2.Cells(2, 1).Value

ListBox1.List(ListBox1.ListCount - 1, 1) = Sheet2.Cells(2, 2).Value

ListBox1.List(ListBox1.ListCount - 1, 2) = Sheet2.Cells(2, 3).Value

ListBox1.List(ListBox1.ListCount - 1, 3) = Sheet2.Cells(2, 4).Value

ListBox1.List(ListBox1.ListCount - 1, 4) = Sheet2.Cells(2, 5).Text

ListBox1.List(ListBox1.ListCount - 1, 5) = Sheet2.Cells(2, 6).Value

ListBox1.List(ListBox1.ListCount - 1, 6) = Sheet2.Cells(2, 7).Value

ListBox1.List(ListBox1.ListCount - 1, 7) = Sheet2.Cells(2, 8).Value

ListBox1.List(ListBox1.ListCount - 1, 8) = Sheet2.Cells(2, 9).Value

(以上代码为将数据源第二行的数据分别添加到列表框)

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(6)

For i = 3 To a

If Sheet2.Cells(i, 10) = 1 Then

ListBox1.AddItem Sheet2.Cells(i, 1).Value

ListBox1.List(ListBox1.ListCount - 1, 1) = Sheet2.Cells(i, 2).Value

ListBox1.List(ListBox1.ListCount - 1, 2) = Sheet2.Cells(i, 3).Value

ListBox1.List(ListBox1.ListCount - 1, 3) = Sheet2.Cells(i, 4).Value

ListBox1.List(ListBox1.ListCount - 1, 4) = Sheet2.Cells(i, 5).Text

ListBox1.List(ListBox1.ListCount - 1, 5) = Sheet2.Cells(i, 6).Value

ListBox1.List(ListBox1.ListCount - 1, 6) = Sheet2.Cells(i, 7).Value

ListBox1.List(ListBox1.ListCount - 1, 7) = Sheet2.Cells(i, 8).Value

ListBox1.List(ListBox1.ListCount - 1, 8) = Sheet2.Cells(i, 9).Value

End If

Next

(以上代码为将数据源第三行到最后有数据一行的数据分别添加到列表框。)

End Sub

1.5 模糊查询:模糊查询这里主要是通过search函数判断物料编码是否含有输入的字符。如下如所示,在查询的辅助列输入函数“=IFERROR(IF(SEARCH($B$1,[@物料编码])>0,1,0),0)”函数的大概意思就是在查询框输入内容后,判断输入内容在物料编码列返回的位置。

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(7)

1.6 代码中Sheet2.Cells(i, 10) = 1为判断输入字符是否在物料编码中存在

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(8)

1.7 实现效果见下图,自动显示物料编码中含有“33”的物料。

listbox控件可以修改(详细讲解Listbox控件在窗体中的运用)(9)

结语:本期教程就分享到这里,有疑问可在评论区留言,小编看到后会及时回复。如果对你有帮助可点赞留言支持。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页