Excel VBA 多级下拉菜单 10

求教代码,实现多级下拉菜单并将每级菜单选中内容合并输入到一单元格中... 求教代码,实现多级下拉菜单并将每级菜单选中内容合并输入到一单元格中 展开
 我来答
百度网友43ece3d
2018-03-03 · TA获得超过100个赞
知道小有建树答主
回答量:103
采纳率:78%
帮助的人:48.9万
展开全部

确定要用VBA,这个完全可以通过公式解决。以上表为例,操作如下:

  1. 分别将A列、C列、G列,命名为:公司、部门、员工

  2. 设计如下图所示的表2

  3. 分别在B1\D1\F1设置“数据验证-序列”如图

    在来源处输入:

    B1: =OFFSET(公司,1,0,COUNTA(公司)-1,1)

    D1: =OFFSET(部门,1,MATCH($B$1&"公司部门",OFFSET(部门,0,0,1,COUNTA(公司)-1),0)-1,COUNTA(OFFSET(部门,0,MATCH($B$1&"公司部门",OFFSET(部门,0,0,1,COUNTA(公司)-1),0)-1,,1))-1,1)

    F1: =OFFSET(员工,1,MATCH($B$1&"公司员工",OFFSET(员工,0,0,1,COUNTA(公司)-1),0)-1,COUNTA(OFFSET(员工,0,MATCH($B$1&"公司员工",OFFSET(员工,0,0,1,COUNTA(公司)-1),0)-1,,1))-1,1)

  4. 下面试下,你会发现单关联的下拉列表出来!

一箭惊仙
2018-03-04 · TA获得超过870个赞
知道小有建树答主
回答量:1724
采纳率:62%
帮助的人:606万
展开全部

刚好以前做过类似的,添加窗体

窗体代码

Private Sub ComboBox1_Change()
Call 刷新二级
UserForm5.TextBox1.Text = UserForm5.ComboBox1.Text & "公司" & UserForm5.ComboBox2.Text & "部门"
End Sub
Private Sub ComboBox2_Change()
UserForm5.TextBox1.Text = UserForm5.ComboBox1.Text & "公司" & UserForm5.ComboBox2.Text & "部门"
End Sub

模块代码

Sub 刷新一级()
Dim a As String
Dim i%, j%, m%
Dim b As Boolean
UserForm5.ComboBox1.Clear
For i = 2 To Sheet3.Range("M65536").End(xlUp).Row
    If Sheet3.Cells(i, 11) <> "" Then UserForm5.ComboBox1.AddItem (Sheet3.Cells(i, 11))
    Next i
UserForm5.ComboBox1.Text = UserForm5.ComboBox1.List(0)
End Sub
Sub 刷新二级()
Dim a As String
UserForm5.ComboBox2.Clear
a = UserForm5.ComboBox1.Text
i = 2
While Sheet3.Cells(i, 11) <> a
    i = i + 1
    Wend
    k1 = i
i = k1 + 1
While Sheet3.Cells(i, 11) = "" And i <= Sheet3.Range("L65536").End(xlUp).Row
    i = i + 1
    Wend
    k2 = i - 1
UserForm5.ComboBox2.AddItem (Sheet3.Cells(k1, 13))
For i = k1 + 1 To k2
    b = False
    m = UserForm5.ComboBox2.ListCount - 1
    For j = 0 To m
        If Sheet3.Cells(i, 13) = UserForm5.ComboBox2.List(j) Then b = True
        Next j
    If b = False Then UserForm5.ComboBox2.AddItem (Sheet3.Cells(i, 13))
    Next i
UserForm5.ComboBox2.Text = UserForm5.ComboBox2.List(0)
End Sub
Sub a()
UserForm5.Show 0
Call 刷新一级
Call 刷新二级
End Sub

执行宏a就可以了,下面是我的测试图

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姓王的wy451

2018-03-01 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8924万
展开全部
这可比较复杂,10财富奖励太少了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skyzxh

2018-03-01 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8344
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
数据源在哪里?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2018-03-01 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
请详细介绍你的需求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式