返回列表 上一主題 發帖

[發問] 能否幫我看看如何將此程式更改成以 小時 分鐘 秒數 計算(已解決)

回復 4# GBKEE

     真是萬分感謝,我看了一下用原來那個天數的還是不會修改那個BUG,再麻煩您一下,感恩!
問題一:
  1. For J1 = 2 To Sheets("Sheet1").[C65536].End(xlUp).Row
  2. I1 = DateDiff("D", Date, Range("C" J1))
  3. If I1 < 0 Then S1 = "已經超過了" " " & (-1) * (I1) & " 天"
  4. If S1 <> "" Then S2 = S2 "距離" & " " & Sheets("Sheet1").Range("A" & J1) & " 的時間" & S1 & vbNewLine
  5. S1 = "": I1 = 0
  6. Next
  7. If S2 <> "" Then MsgBox S2
  8. S2 = ""
複製代碼
------------------------------------------------------------------------------------------------------------------

問題二:
然後如果是這個 小時 分鐘 秒數的
新增一個IF判斷, 然後我新增一個TextBox,依照我填入的數值X, 讓時間到前X分鐘提醒
填入的X和時間到前X分鐘的X是同一個.

TOP

回復 3# vpower
那是多餘的,可刪掉.
  1. Private Sub CommandButton1_Click()
  2.     Dim TheDay#, Msg$, J1%, S$, H$
  3.     For J1 = 2 To Sheets("Sheet1").[C65536].End(xlUp).Row
  4.         If Range("C" & J1) <> "" And IsDate(Range("C" & J1)) Then
  5.             TheDay = Now - Range("C" & J1).Value: Msg = " 時間 已過"
  6.             If Range("C" & J1) >= Now Then TheDay = Range("C" & J1) - Now: Msg = " 時間 還有"
  7.             H = IIf(Abs(Int(TheDay)) > 0, Abs(Int(TheDay)) & "天", "") & Format(TheDay, "hh小時:mm分鐘:ss秒")
  8.             H = Replace(Replace(Replace(H, "00小時:", ""), "00分鐘:", ""), ":00秒", "")
  9.             S = IIf(S = "", "", S & vbNewLine) & "距離 " & Sheets("Sheet1").Range("A" & J1) & Msg & H
  10.         End If
  11.     Next
  12.     If S <> "" Then MsgBox S, , Format(Now, "dddddd ttttt")
  13. End Sub
複製代碼

TOP

回復 2# GBKEE


    這位大大真的是又快又好..非常感謝..

可否再請教一個問題?
D是做什麼用的呢?
是否可以刪除呢?

還有發現一個小BUG,
A1=約會 C1=時間
A2=吃飯 C2=空值
A3=練習 C3=時間

當有空值的時候,系統依然會顯示,而且會出現已超過4萬多天的BUG,我該如何讓它不顯示呢?
--------------------------------------------------------------------------------------------------------------------------------
如果我要增加一個判斷,讓他在還有5分鐘的時候提醒,而且在開啟MSG視窗時可以出現一小段音效,不知道是否有辦法呢?

TOP

本帖最後由 GBKEE 於 2011-5-13 11:22 編輯

回復 1# vpower
  1. Private Sub CommandButton1_Click()
  2.     Dim TheDay#, Msg$, J1%, S$, D$, H$
  3.     For J1 = 2 To Sheets("Sheet1").[C65536].End(xlUp).Row
  4.         TheDay = Now - Range("C" & J1).Value: Msg = " 時間 已過"
  5.         If Range("C" & J1) >= Now Then TheDay = Range("C" & J1) - Now: Msg = " 時間 還有"
  6.         H = IIf(Abs(Int(TheDay)) > 0, Abs(Int(TheDay)) & "天", "") & Format(TheDay, "hh小時:mm分鐘:ss秒")
  7.         H = Replace(Replace(H, "00小時:", ""), "00分鐘:", "")
  8.         S = IIf(S = "", "", S & vbNewLine) & "距離 " & Sheets("Sheet1").Range("A" & J1) & Msg & H
  9.     Next
  10.     If S <> "" Then MsgBox S, , Format(Now, "dddddd ttttt")
  11. End Sub
複製代碼

TOP

        靜思自在 : 地上種了菜,就不易長草;心中有善,就不易生惡。
返回列表 上一主題