|
这是一个论坛的求助贴,我整理了下,以利于类似案例中借鉴用。代码并无特别之处。
多级下拉菜单案例.rar
(15.49 KB, 下载次数: 706)
- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Column > 7 And Target.Column < 10 And Target.Row > 6 And Target.Count = 1 Then
- Target.Offset(0, 1).ClearContents
- End If
- End Sub
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Dim st As String, k As Integer
- Dim d, arr
- If Target.Column > 7 And Target.Column < 11 And Target.Row > 6 And Target.Count = 1 Then
- If Len(Target.Offset(0, -1)) = 0 Then
- Target.Validation.Delete
- MsgBox "左项不得为空,请从左向右按序选择录入!"
- Else
- st1 = Target.Offset(0, -1)
- Set d = CreateObject("scripting.dictionary")
- With Sheets("计件单价")
- ir = .Range("B65536").End(xlUp).Row
- arr = .Range(.Cells(6, Target.Column - 6), .Cells(ir, Target.Column - 5))
- End With
- For k = 1 To UBound(arr, 1)
- If st1 = arr(k, 1) Then d(arr(k, 2)) = arr(k, 2)
- Next k
- st = Join(d.keys, ",")
- With Target.Validation
- .Delete
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
- xlBetween, Formula1:=st
- .InputMessage = "请在下拉中选择:"
- End With
- End If
- End If
- End Sub
复制代码
|
评分
-
1
查看全部评分
-
|