微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
一直以来,对于学习ExcelVBA的同学,窗体下拉列表多级联动都是个难题,我在教程里也讲了2级和3级联动的一般实现方法,但是对于初学者或者中级水平以下的同学来说还是难度偏大,难以自己灵活应用,特别是当一个窗体有多组多级列表的时候,简直就是噩梦,当然当出现5级联动,6级联动乃至更多级别的时候,基本就是地狱级别的难度,鉴于此,我特别开发了本模块,VBA窗体多级下拉通用组件,实现了多级下拉无限级别通用,单个窗体中多组不同列表可分别使用,调用 简单,即使是刚入么的新手也能学会使用,本组件主要功能如下
视频说明: https://www.bilibili.com/video/BV1FL411G7kP/
- 轻松实现2级下拉联动,3级下拉联动,4级下拉联动,5级下拉联动,6级下拉联动,实际是无限级别
- 高度组件化实现,用户无需关心细节,导入类模块后,只需几行代码调用即可实现下拉联动
- 单个窗体和多个窗体里单组级联菜单,以及多组级联菜单可任意多组同时使用,互不干扰
- 高级逐级加载算法,4万行4级省市区县数据1秒加载完成,下拉选择切换无卡顿丝般顺滑
- 最新版兼容Listbox 可混合使用
购买说明
- 本组件完整源码为Excel880 VIP学员专享 已购买课程的同学请到教学群直接下载即可
- 课程购买链接 https://item.taobao.com/item.htm?id=597656284129
-
【你们百度3天 不如我随口一句】
买教程即可加入本人永久答疑群
398元套餐包含VBA175例+函数408例+120期直播回放
再送VBA代码助手VIP+880网站VIP(专享本站所有资源)
买教程即可加入本人永久答疑群
https://item.taobao.com/item.htm?id=597656284129
本人作品集http://excel880.com/blog/archives/category/zpj/
VBA代码助手 降低一半学习门槛
视频说明https://www.bilibili.com/video/BV1D64y1X7fR - 使用方法
- 打开你需要使用多级列表的案例,准备好窗体及数据,窗体中画好准备应用多级列表的组合框,组合框命名无要求,可自行决定
- 打开我的演示案例,找到2个类模块clsMLevelCombox和clsNode880,在左侧工程管理器中,鼠标选中类模块不动,拖动到你的目标工程即可
- 然后在目标窗体中,添加以下代码
Dim WithEvents 级联菜单1 As clsMLevelCombox Sub 级联菜单初始化() Set 级联菜单1 = New clsMLevelCombox 级联菜单1.Init [省市区!A2:C2841], ComboBox1, ComboBox2, ComboBox3 ''级联菜单1.Init 级联列表数据源, 1级组合框,2级组合框,3级组合框.... End Sub Private Sub UserForm_Initialize() 级联菜单初始化 End Sub Private Sub 级联菜单1_Changed(NodePath As Variant, Row As Variant) '点击切换数据事件 MsgBox NodePath & ": 原数据行号是" & Row End Sub
- 实际工程中,根据需要在 级联菜单1.Init 参数中,改变参数即可, 更多级数列表框,只需要后面依次增加组合框控件参数即可
- 多组同时启用的写法 直接参考组件案例即可
Dim WithEvents 级联菜单1 As clsMLevelCombox Dim WithEvents 级联菜单2 As clsMLevelCombox Sub 级联菜单初始化() Set 级联菜单1 = New clsMLevelCombox 级联菜单1.Init [数据!B2:G143], ComboBox1, ComboBox2, ComboBox3, _ ComboBox4, ComboBox5, ComboBox6 Set 级联菜单2 = New clsMLevelCombox 级联菜单2.Init [行政区!A2:D46195], ComboBox7, ComboBox8, _ ComboBox9, ComboBox10 End Sub Private Sub 级联菜单1_Changed(NodePath As Variant, Row As Variant) Label13.Caption = NodePath & ": 原数据行号是" & Row End Sub Private Sub 级联菜单2_Changed(NodePath As Variant, Row As Variant) Label13.Caption = NodePath & ": 原数据行号是" & Row End Sub '//// 以上是标准示范代码 Private Sub UserForm_Initialize() 级联菜单初始化 End Sub