我檢查你的代碼,它看起來OK對我來說。
Sub TimeValueTest()
Dim shin2 As String
Dim intime22 As Double, intime2 As Double
shin2 = InputBox("Enter time in hh:mm:ss format")
If shin2 <> "" Then
intime2 = TimeValue(shin2) + TimeValue("00:30:00")
Debug.Print "intime2"
Debug.Print "value: " & intime2
Debug.Print "time: " & Format(intime2, "hh:mm:ss")
Debug.Print "----"
intime22 = TimeValue(shin2) - TimeValue("00:30:00")
Debug.Print "intime22"
Debug.Print "value: " & intime22
Debug.Print "time: " & Format(intime22, "hh:mm:ss")
End If
End Sub
如果我在輸入框中輸入05:00:00,則輸出下面的內容。
intime2
value: 0.229166666666667
time: 05:30:00
----
intime22
value: 0.1875
time: 04:30:00
引擎蓋下TIMEVALUE轉換時間字符串爲十進制數,所以我懷疑你的奇怪的結果可能有一些與你的變量,以及它們是如何聲明。
來源
2013-10-27 13:31:53
Sam
你能粘貼你當前使用的代碼嗎? – Sam
感謝您的承諾。這裏是+完美工作的代碼,-ve給出了錯誤的答案。如果shin2 <>「」然後 intime2 = TimeValue(shin2)+ TimeValue(「00:30:00」) MsgBox intime2 intime22 = TimeValue(shin2) - TimeValue(「00:30:00」) MsgBox intime22 End If – user2851228
您是否聲明瞭變量?什麼是銀泰2和銀泰22? – Sam