Excel制作简单的筛选器(VBA:ListBox控件)

Excel制作简单的筛选器(VBA:ListBox控件)简单的筛选器 Listbox 控件制作多选筛选器应朋友的要求做了一个比较复杂的筛选器 在这里简化了一下 着了个实例

大家好,欢迎来到IT知识分享网。

Excel制作简单的筛选器(VBA:ListBox控件)

简单的筛选器

应朋友的要求做了一个比较复杂的筛选器,在这里简化了一下,着了个实例。

这个小程序用VBA控制自动筛选,使用窗体控件Listbox实现多选,并把筛选结果复制到新表。

先看窗体:

Excel制作简单的筛选器(VBA:ListBox控件)

窗体设计

窗体很简单几个按钮加一个Listbox,最主要的就是Listbox设置

Excel制作简单的筛选器(VBA:ListBox控件)

Listbox

①多项选择设置:有三个选项,0单选,1多选,2扩展多选支持SHIFT&CTRL键。

②选项的表头:只有两个选项,TRUE使用,FALSE不使用。

③列表风格:有两个选项,0不显示选择框,1显示选择框,如果①是单选就显示圆点单选,否则显示方框多选。

④数据源:在表三里提前写好的筛选项目。

接下来是程序设计:

窗体代码部分:

Excel制作简单的筛选器(VBA:ListBox控件)

窗体代码

这部分我用了个函数来处理多选,Multilistbox(),就这个简单的例子来说倒是没有必要,直接写在按钮事件里就行了,因为我处理的那个复杂筛选过程里,这个多选函数可以缩减工作量。

这里的HH,还有ComType是全局变量用来把从窗体取到数据传递到模块里。

模块代码:

Excel制作简单的筛选器(VBA:ListBox控件)

模块代码

这段代码的重点在于:

With srng

.AutoFilter

If UBound(ComType) = 3 Then

.AutoFilter Field:=2

Else

.AutoFilter Field:=2, Criteria1:=ComType, Operator:=xlFilterValues

End If

End With

有了这个实例的经验,复杂的筛选过程也不难处理,就是多了些参数传递。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/45946.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信