|
发表于 2012-11-5 14:21
|
显示全部楼层
本楼为最佳答案
不需要用拼音了,直接用动态数据有效性选择即可。- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- If Target.Address <> "$B$3:$E$3" Then Exit Sub
- Dim Arr, i&
- Set d = CreateObject("Scripting.Dictionary")
- Arr = Sheet2.[a1].CurrentRegion
- For i = 2 To UBound(Arr)
- d(Arr(i, 2)) = i
- Next
- t = d.items
- With Target.Validation
- .Delete
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
- Operator:=xlBetween, Formula1:=Join(d.keys, ",")
- End With
- End Sub
复制代码 |
|