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事件。
温馨提示:答案为网友推荐,仅供参考