excel 多级下拉菜单 如何实现第一级下拉菜单更换选择内容后,第二级下拉菜单内容清空

rt,具体的说,第一级菜单和第二季菜单是想关联的,例如,当第一级下拉菜单“型号”类改变选择内容之后,第二级下拉菜单可以自动清空,显示空杯单元格,但后再让我进行第二级下拉菜单的选择。如何实现以上操作?谢谢!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 1 Then
Target.Offset(0, 1).Validation.Delete
Target.Offset(0, 1).ClearContents
Select Case Target
Case "型号"
Target.Offset(0, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="1,2,3,4"
Case "ni"
Target.Offset(0, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="5,6,7,8"
Case "ke"
Target.Offset(0, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="9,0,1,2"
Case "ta"
Target.Offset(0, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="3,4,5,6"
Case Else
Target.Offset(0, 1) = "未设置"
End Select
End If
End Sub

这个一级菜单要自己设置,我这个是在A列里放置一级菜单,当A列被更改时,对B列设置二级菜单。这个是工作表的CHANGE事件。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-14

1:先做一个表

2:命名第一个list 。选中A1:B1,在左上角输入ListA

3:选中A1:A5 ,菜单[数式] ->选择范围做成,且跳出来的菜单选 上端

我的是日文软件,你不用管,但是菜单肯定一样的。

4:B1:B4也是和3一样的

5:D2列选中,然后数据,入力规则。写之前定义的ListA

6:E2列选中,然后数据,入力规则。写=INDIRECT(D2)

你试一下。

第2个回答  2018-03-14

假设你的一级菜单所在单元格为A1,二级菜单所在单元格为B1,工作表名称为sheet1.

    alt+F11调出vba

    工程资源管理器中双击sheet1

    代码窗口复制以下代码,保存

    Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$A$1" Then Range("B1").ClearContents

    End Sub

第3个回答  2012-03-07
可以用数据有效性来实现。不过要先定义名称,然后再用序列,=INDIRECT()
用这个公式来引用你的那个型号的名称对应的数据列就行了
相似回答