前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel应用实践13:制作产品选型表,在用户窗体中实现级联下拉列表

Excel应用实践13:制作产品选型表,在用户窗体中实现级联下拉列表

作者头像
fanjy
发布2019-07-19 14:52:04
2.6K0
发布2019-07-19 14:52:04
举报
文章被收录于专栏:完美Excel完美Excel

学习Excel技术,关注微信公众号:

excelperfect

在网站中,我们经常会碰到需要一层层向下选择的情况。在第一个选项列表中选择第一个数据,第二个选项列表中选择第二个数据,依此类推。并且,后面的选项列表内容会根据前面选择的内容而发生变化。如下图1所示。

图1

上图1是使用Excel VBA用户窗体实现的效果,实现起来很简单。

首先,准备数据,如下图2所示。第1列单元格中的值分别是该列下方数据单元格区域的名称,这需要我们事先使用名称功能进行定义。

图2

接着,设计用户窗体,如下图3所示。在VBE中,插入一个用户窗体,在上面放置3个组合框并分别命名为:cmbProduct、cmbModel和cmbSubModel。

图3

编写用户窗体模块代码:

代码语言:javascript
复制
Private Sub UserForm_Initialize()
    '第1个组合框中添加值
    cmbProduct.List =Application.WorksheetFunction.Transpose(Range("产品"))
End Sub
Private Sub cmbProduct_Change()
    cmbModel.Value = ""
    cmbSubModel.Value = ""
    Select Case cmbProduct.Value
    '根据第1个组合框中的值
    '在第2个组合框中添加相应的值
    Case "产品1"
        cmbModel.List =Application.WorksheetFunction.Transpose(Range("产品1"))
    Case "产品2"
        cmbModel.List =Application.WorksheetFunction.Transpose(Range("产品2"))
    Case Else
        cmbModel.Value = ""
    End Select
End Sub
Private Sub cmbModel_Change()
    cmbSubModel.Value = ""
    Select Case cmbModel.Value
    '根据第2个组合框中的值
    '在第3个组合框中添加值
    Case "型号11"
        cmbSubModel.List =Application.WorksheetFunction.Transpose(Range("型号11"))
    Case "型号12"
        cmbSubModel.List =Application.WorksheetFunction.Transpose(Range("型号12"))
    Case "型号13"
        cmbSubModel.List =Application.WorksheetFunction.Transpose(Range("型号13"))
    Case "型号21"
        cmbSubModel.List =Application.WorksheetFunction.Transpose(Range("型号21"))
    Case "型号22"
        cmbSubModel.List =Application.WorksheetFunction.Transpose(Range("型号22"))
    Case "型号23"
        cmbSubModel.List =Application.WorksheetFunction.Transpose(Range("型号23"))
    Case Else
        cmbSubModel.Value = ""
    End Select
End Sub

至此,运行用户窗体,即实现上图1所示的效果。你可以根据实际情况,添加功能,譬如选择好后,将选择的数据输入用户信息工作表或者导向到相应的产品页面。

代码的图片版如下:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档