返回列表 上一主題 發帖

[發問] 時間範圍比對問題

回復 5# child
  1. Sub nn()
  2. a = #10/11/2011 8:00:00 AM#
  3. b = #10/11/2011 2:30:00 PM#
  4. For Each C In Range([C2], [C2].End(xlDown))
  5. d = C.Offset(, -1)
  6. If (a >= d And a <= C) Or (b >= d And b <= C) Then C.Offset(, 1) = "Y" Else C.Offset(, 1) = "N"
  7. Next
  8. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 7# child


    沒錯啊!
play.gif
學海無涯_不恥下問

TOP

回復 9# child
判斷式的條件看看這樣夠不夠
  1. Sub nn()
  2. a = #10/11/2011 8:00:00 AM#
  3. b = #10/11/2011 12:30:00 PM#
  4. For Each C In Range([C2], [C2].End(xlDown))
  5. d = C.Offset(, -1)
  6. If (a >= d And a <= C) Or (a <= d And a <= C) Or (b >= d And C <= b) Then C.Offset(, 1) = "Y" Else C.Offset(, 1) = "N"
  7. Next
  8. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 11# child

用笨方法解決
  1. Sub nn()
  2. Dim i#
  3. Set d = CreateObject("Scripting.Dictionary")
  4. a = CDbl(#10/11/2011 8:00:00 AM#)
  5. b = CDbl(#10/11/2011 2:30:00 PM#)
  6. For Each c In Range([C2], [C2].End(xlDown))
  7. k = Int(a) - Int(c.Offset(, -1))
  8. c.Offset(, 1) = "N"
  9. For i = IIf(k = 0, c.Offset(, -1), Int(c.Offset(, -1)) + k - 1) To c Step TimeValue("00:01:00")
  10.    If i >= a And i <= b Then c.Offset(, 1) = "Y": Exit For
  11. Next
  12. Next
  13. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題