- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2012-1-1 15:55
| 只看該作者
回復 1# brabus
可用 VBA- Private Sub Worksheet_Change(ByVal Target As Range)
- Application.EnableEvents = False
- If Target(1).Cells = [B5] Then
- [C5] = ""
- For Each E In Range([G5], [G5].End(xlDown))
- If [B5] >= Val(Split(E, "~")(0)) And [B5] <= Val(Split(E, "~")(1)) Then
- S = IIf(S = "", E.Offset(, -1), S & "," & E.Offset(, -1))
- End If
- Next
- With Range("C5").Validation
- .Delete
- If S <> "" Then
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
- xlBetween, Formula1:=S
- End If
- End With
- End If
- Application.EnableEvents = True
- End Sub
複製代碼 |
|