美文网首页数据分析E品堂——excel,俱为一品上班这点事儿
Excel也能做出这么智能下拉菜单,不敢相信

Excel也能做出这么智能下拉菜单,不敢相信

作者: 青哥聊供应链 | 来源:发表于2017-03-06 14:08 被阅读70次

    微信公众号(“大爱E人”)回复“清除”,免费下载附件。

    级联菜单,很多人可能陌生,但是关注我公众号的人肯定了解。级联菜单就是仿造电商网站,填物流地址时候,选中省,选市的时候只会呈现该省的所有市。但是,我们遇到了新需求,肿么办?    ——eric

    背景

    接到一位网友问题。

    该网友可能是医院工作,看了我之前在优酷视频,学习了怎么做智联菜单。

    (不会智联菜单的,请看我的公众号“免费-历史文章”,我就不鄙视了)。

    他希望:“重选了前一下拉菜单时候,后一单元格已选内容自动清除”

    我之前在优酷中的视频没有讲怎么处理这种问题,当然,在视频里也不可能讲很多。

    这个问题其实是一个需求,而且是一个有一定共性的合理需求。

    譬如学校排课的时候,选中英语课,但是老师可能有很多,到底是彭老师、还是施老师、李老师,不能出错;同样文员排上班或者值班表、财务分析利润中心或者成本中心,也错不得。

    如果错了,都是一错误终身的风陵渡口。

    这么合理且实用的需求,解决方案很简单,详见如下。

    方案

    下拉列表、智联菜单不会的童鞋,请点击公众号中的“免费-历史文章”。

    1. 做一个入住信息登记表

    2.D列做下拉列表菜单

    在D列做一个下拉列表,“数据”-“数据验证”/“数据有效性”。

    命名title,数据源选择B7:B9。

    做下拉列表,很简单。

    下拉列表是excel的基础操作,不会的童鞋请翻我的历史记录或者加技术QQ群(281606780)提问。

    3.E列做级联菜单

    学会做传统下拉菜单,在下拉菜单的基础上,E列新建一个下拉菜单。

    如把E2单元格把来源改为“=INDIRECT($D2)”。

    这样就形成E列单元格下拉菜单数据来源为D列相应单元格选中的结果。

    如上,做好一个具备级联菜单功能的表格。

    再加上自动删除后续单元格功能即可。

    4.D列重选E列自动清空

    VBA输入如下代码:


    Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 4 Then

    'Target.Offset(0, 1).Validation.Delete

    Target.Offset(0, 1).ClearContents

    End If

    End Sub


    其中D列为第4列,所以代码中的column=4,如果是第5列重选,后一单元格自动清空,=5即可。

    VBA不好或者不想学的童鞋,会改就行。

    记住:

    “=4”中的4修改为,你想改变单元格内容后触发后续单元格自动清空的单元格所在列。

    效果如下:

    后记

    VBA这么伤脑的东西,不愿操心也行,会改能为我所用即可。

    这么好的东西,全部上传分享到篇头的某度某盘中。

    毕竟某度没给我广告费,我就不提名字了

    不要爱我、感激我,只要转发、关注公众号就行。

    “大爱E人”

    相关文章

      网友评论

      • 青哥聊供应链:更改前一列单元格,后一列单元格反应动作,运用场景还是很普遍的。

      本文标题:Excel也能做出这么智能下拉菜单,不敢相信

      本文链接:https://www.haomeiwen.com/subject/ctfugttx.html