ExcelHome技术论坛

 找回密码
 免费注册
QQ登录 只需一步,快速开始
   
高效办公必会的Office99uu优优 永久免费,网表让Excel秒变数据库 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel函数公式学习大典 资深财务总监教您玩转Excel 免费下载Excel行业应用视频
300集Office 2010微99uu优优 Tableau-数据可视化工具 突破Excel限制,用活字格提高效率 13门Excel免费公开课任你学
你的Excel 201099uu优优学习锦囊 欲罢不能, 过目难忘的 Office 新界面 免费的Excel考勤计算系统
查看: 95|回复: 1
打印 上一主题 下一主题

[求助] 创建多级列表框

[复制链接]
TA的精华主题TA的得分主题
跳转到指定楼层
1
发表于 2018-3-14 22:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
怎么能创建两个列表框,列表框2的内容需要根据列表框1的内容而更新,就如列表框1选择了湖北,列表框2就只能选择武汉 宜昌 荆州,

湖北
武汉
宜昌
荆州
广东
深圳
广州
东莞
湖南
长沙
岳阳
湘潭

捕获.PNG (73.21 KB, 下载次数: 0) 创建两个列表框
创建两个列表框
test.zip 12.04 KB, 下载次数: 5
TA的精华主题TA的得分主题
2
发表于 2018-3-15 07:06 | 只看该作者
本帖最后由 一把小刀闯天下 于 2018-3-15 07:08 编辑

Option Explicit

Dim dic

Private Sub UserForm_Activate()
  Dim i, t, arr
  Set dic = CreateObject("scripting.dictionary")
  With Sheets("sheet1")
    arr = .Range("a2:b" & .Cells(Rows.Count, "b").End(xlUp).Row)
  End With
  For i = 1 To UBound(arr, 1)
    If Len(arr(i, 1)) > 0 Then
      t = arr(i, 1)
      Set dic(t) = CreateObject("Scripting.Dictionary")
    Else
      Set dic(t)(arr(i, 2)) = CreateObject("Scripting.Dictionary")
    End If
  Next
  ListBox1.List = dic.keys
End Sub

Private Sub ListBox1_Click()
  With ListBox2
    .Clear
    .List = dic(ListBox1.Text).keys
  End With
End Sub
您需要登录后才可以回帖 登录 | 免费注册
本版积分规则
关闭

最新热点上一条 /1 下一条

关注官方微信,每天学会一个新技能
手机版|关于我们|联系我们|ExcelHome GMT+8, 2018-4-25 06:53 , Processed in 0.380455 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.4 © 2001-2017 Wooffice Inc.
    沪公网安备 31011702000001号 沪ICP备11019229号 本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师
快速回复 返回顶部 返回列表
99uu优优