打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[Excel]Excel设置多级下拉菜单

在平时工作学习中,经常会用到Excel的下拉菜单功能,这一功能的实现方法也较为简单。但是,如果遇到需要使用二级下拉菜单或多级下拉菜单的情况,就会比较棘手。

实现二级下拉菜单的方法也有很多,本文为大家介绍一种,供大家参考,我们将以下面的表格为例来展开。

1、首先,我们需要做一些准备工作:对每一个项目建立一个名称索引。第一级下拉菜单的内容,选中商品类别,然后在左上角的名称位置,将名称改为我们自定义的名称“商品类别”, 记得按回车确定。

2、接下来选中二级下拉菜单的项,同样在左上角自定义它的名称,名称要对应商品类别中的项。将剩余家用电器、电脑办公的项也设置好。

3、然后是三级菜单的项,自定义每一个小项的名称。名称要跟二级菜单中的项对应。

4、好,准备工作完成。现在设置一级菜单。选中B5单元格,打开数据-数据有效性。

5、在弹出的对话框中,“允许”选择 序列,“来源”中输入“=商品类别”,商品类别即我们之前自定义的名称,最后确定。

6、这时我们看到,商品栏下可以通过下拉菜单选择内容了。

7、接下来要设置每一项商品的二级下拉菜单。

选中C5单元格,打开数据有效性,选择序列,来源里输入“=INDIRECT(B5)” (indirect函数的含义引用,并显示其内容),然后确定。这样,C5单元格的内容就会根据B5的内容去索引自定义的名称来显示。

根据上一步的同样的方式,设置品牌下的下拉菜单,注意数据有效性“来源”中输入“=INDIRECT(C5)”。最终效果如下:

到现在,三级下拉菜单就设置完成了。多级下拉菜单的原理是一样的。

但是,有一个问题,当我们修改前一级下拉菜单时,很容易由于疏忽,导致下级与前一级类型不符。

这时,我们希望每种类别能有一个默认的选项,会随着第一级下拉菜单变化时,自动填充。这种要求救只能通过EXCEL VBA来实现了。在sheet1上右击,点击查看代码。

在代码窗内,输入以下代码:

Private Sub Worksheet_Change(ByVal Target As Range) ‘当工作表变化时

If Target.Row = 5 And Target.Column = 2 Then

‘如果变化的目标是B5(第5行,第2列),下边用if语句为每一项设置默认值

If Range('B5') = '手机数码' Then

Range('C5') = Range('F6')

ElseIf Range('B5') = '家用电器' Then

Range('C5') = Range('I6')

ElseIf Range('B5') = '电脑办公' Then

Range('C5') = Range('K6')

End If

End If

If Target.Row = 5 And Target.Column = 3 Then

‘如果变化的目标是C5(第5行,第3列),下边用case语句设置默认值(采用if还是case,请灵活掌握)

Select Case Range('C5')

Case '手机'

Range('D5') = Range('F7')

Case '存储卡'

Range('D5') = Range('G7')

Case '移动电源'

Range('D5') = Range('H7')

Case '微波炉'

Range('D5') = Range('I7')

Case '空调'

Range('D5') = Range('J7')

Case '平板'

Range('D5') = Range('K7')

Case '笔记本'

Range('D5') = Range('L7')

End Select

End If

End Sub

有兴趣,有需要的试试吧。仅供交流,大家多批评指正。谢谢!


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
定义名称 & INDIRECT 函数 & 下拉菜单 | Excel 教学
Excel函数那么多,INDIRECT是你不得不学的一个
excel制作多级下拉菜单其实很简单
Excel单元格下拉菜单
让领导看傻,Excel三级下拉菜单,自动生成
在Excel中怎么制作二级联动下拉列表选项?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服