Excel制作三级动态下拉菜单

本文介绍如何在Excel中设置动态下拉菜单,通过定义版本号、型号和色号等菜单层级,使用间接函数实现数据的有效性和联动选择,适用于批量数据处理。

先定义以下名称

一级菜单:版本号

二级菜单:型号

三级菜单:色号 

 

 

名称

版本号

版本35号

版本36号

内容

版本32号

型号3501

型号3600

版本35号

型号3502

型号3601

版本36号

型号3500

型号3602

 

型号3510

 

 

 

 

名称

型号3501

型号3502

型号3500

型号3510

型号3600

型号3601

型号3602

内容(色号)

1

1

1

1

2

1

1

2

2

2

2

3

3

2

3

3

3

3

5

5

5

5

5

5

5

6

6

6

6

6

6

6

7

7

7

7

7

7

7

8

8

20

8

8

8

8

20

19

23

 

 

Excel制作三级动态下拉菜单

A2 设置有效性数据-->序列-->来源 输入: =版本号


Excel制作三级动态下拉菜单

B2 设置有效性数据-->序列-->来源输入:=indirect(A2)


Excel制作三级动态下拉菜单

C2 设置有效性数据-->序列-->来源输入:=indirect(B2)

 

Excel制作三级动态下拉菜单

这样动态菜单就做完成了,至于要做多少行,直接下列复制就行了。

 

Excel制作三级动态下拉菜单

Excel制作三级动态下拉菜单

Excel制作三级动态下拉菜单

Excel 三级 联动 下拉框 宏代码 实例 代码注释 先在第一个下拉框加入一个valiation, 内容是 =$A$2:$A$5 Private Sub Worksheet_Change(ByVal Target As Range) ' Call back function which defined within according worksheet Dim i As Integer Dim tempStr As String Dim firstDrawBoxRowCount As Integer Dim firstDrawBoxColumn As Integer firstDrawBoxRowCount = 4 'Define the row number of first draw box firstDrawBoxColumn = 1 'Define the column number of ifrst draw box Dim secondDrawBoxRowCount As Integer Dim secondDrawBoxColumn As Integer secondDrawBoxRowCount = 33 'Define the row number of second draw box secondDrawBoxColumn = 4 'Define the column number of second draw box If Target.Column = 1 Then 'This defines the first column of draw box list, you can also define the row number of draw box list Cells(Target.Row, Target.Column + 1) = "" ' Do the clean first Cells(Target.Row, Target.Column + 1).Validation.Delete Cells(Target.Row, Target.Column + 2) = "" Cells(Target.Row, Target.Column + 2).Validation.Delete For i = 2 To firstDrawBoxRowCount + 1 'Enter the cycle to find out the content for column 2 If Trim(Cells(Target.Row, Target.Column)) = Trim(Cells(i, firstDrawBoxColumn)) Then tempStr = Trim(Cells(i, firstDrawBoxColumn + 1)) 'Find out the options for second draw box, it is seperated by , Cells(Target.Row, Target.Column + 1).Select ' Fill the validation to second draw box With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:=tempStr .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .IMEMode = xlIMEModeNoControl .ShowInput = True .ShowError = True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

危凌天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值