If Left(ActiveWorkbook.Sheets("Sheet4").Cells(y, 8), 11) >= "12:00:00" Then
word5 = Left(ActiveWorkbook.Sheets("Sheet4").Cells(y, 8), 11) - TimeValue(Now)
這裏是我的代碼來減去當前時間與列H細胞。 這種編碼的結果是0.69694444444444,我怎樣才能得到它是在時間?時間減法代碼
If Left(ActiveWorkbook.Sheets("Sheet4").Cells(y, 8), 11) >= "12:00:00" Then
word5 = Left(ActiveWorkbook.Sheets("Sheet4").Cells(y, 8), 11) - TimeValue(Now)
這裏是我的代碼來減去當前時間與列H細胞。 這種編碼的結果是0.69694444444444,我怎樣才能得到它是在時間?時間減法代碼
TimeValue()
返回一個雙精度型和Left()
返回一個包含一個字符串的型變量,所以我很驚訝這個工作。你應該得到一個類型不匹配這一點:
word5 = Left(ActiveWorkbook.Sheets("Sheet4").Cells(y, 8), 11) - TimeValue(Now)
您需要顯式轉換爲日期類型:
Dim time As Date, result As Date
time = CDate(Left(ActiveWorkbook.Sheets("Sheet4").Cells(y, 8), 11))
result = time - TimeValue(Now)
Debug.Print result
請注意,這裏還有一個錯誤在你如果條件 - 你執行文本基於比較。考慮到以下事實...
Debug.Print "10:00:00 PM" > "11:00:00 AM"
...導致錯誤。你應該做的有兩種雙打或日期全部日期/時間進行比較。
非常感謝那寶貴的榮譽。 –
如果結果> = 「01:00:00」。然後 AX = AX + 1 word4 = word4& 「」 &ActiveWorkbook.Sheets( 「Sheet4」)細胞(Y,2)及 「 - 」 &ActiveWorkbook.Sheets( 「Sheet4」)。電池(Y,5) UserForm1.Label10.Caption = word4 UserForm1.Label11.Caption = AX在這裏,我想顯示word4只有當結果大於1小時 –
這樣,可以幫助我,使必要的變化在這裏 –
我們在這裏不是生產代碼爲您服務。請發佈您的代碼並詢問您不明白的具體問題,以便我們幫助您瞭解您目前不瞭解的內容。 – Turing85
這是一個vb.net應用程序(在Visual Studio中創建)或VBA宏(在Excel中創建的)?它們不是同一件事。如果它是一個vba宏,請編輯您的問題以刪除vb.net標籤。 – Blackwood