0
A
回答
2
您可以按如下
MsgBox GetHourDifference(Range("a1")) '<--| if cell "A1" has value "09:00 - 21:00" it returns: 12
+0
@ user1049961 - 請注意,解決方案只是減去兩次的小時部分,即完全忽略分鐘。因此,「09:00 - 21:59」和「09:59 - 21:00」都報告爲12小時,即使第一小時是12小時59分鐘,第二小時只有11小時1分鐘。 – YowE3K
0
如果您09.00 - 21.00
是在細胞B7使用此功能
Function GetHourDifference(cell As Range) As Long
GetHourDifference = Hour(Split(cell.Value, "-")(1)) - Hour(Split(cell.Value, "-")(0))
End Function
在你的主代碼被利用,那麼這個工程:
=TIME(RIGHT(B7,5),RIGHT(B7,2),)-TIME(LEFT(B7,5),MID(B7,4,2),)
非常暴力,因爲它假設ti我永遠是00.00
並且不會包含任何其他字符。
+0
我剛剛試過這個,單元格B7包含給出的例子和我的表達式如下所示,它的工作原理 - 在編輯示例時間時更改結果。你怎麼能回答「它假設時間總是00.00」 - 你真的測試過,因爲我已經做了兩次... –
0
Option Explicit
Sub Macro1()
Dim txtDate As String
Dim i As Integer
Dim varDateDif As Variant, split1 As Variant, split2 As Variant
' Cell with times
txtDate = Range("A2").Value
' Split the cell using the delimiter -
varDateDif = Split(txtDate, "-")
For i = 0 To LBound(varDateDif)
split1 = varDateDif(i) ' First time
split2 = varDateDif(i + 1) ' Second time
Next i
' Difference in hours
Range("B2").Value = Abs(CDate(split1) - CDate(split2))
' Difference in minutes
Range("C2").Value = DateDiff("n", split1, split2)
End Sub
0
如果你正在尋找一個公式的解決方案,我會用下面去:
=HOUR(RIGHT(C24,5))-HOUR(LEFT(C24,5))
只要你的價值觀總是在提供的格式工作。
如果你正在尋找一個解決方案VBA我與的@去user3598756
相關問題
- 1. Excel的VBA沒有找到小區想
- 2. Excel VBA - 找到最小的值列表?
- 3. Excel VBA,找出同一組數據下的最小值
- 4. Excel VBA:找出外國查詢表的大小
- 5. Excel VBA - 查找以前的日期
- 6. Excel VBA - 以VBA計算
- 7. 尋找值 - 的Excel VBA
- 8. Excel VBA Javascript導出
- 9. 在Excel VBA中運行RScript時出錯
- 10. 運行時錯誤6:溢出:Excel VBA
- 11. VBA Excel小計錯誤
- 12. Excel VBA調整大小組
- 13. Excel VBA連接以包括時區
- 14. Excel VBA查找問題
- 15. 按鍵查找行excel vba
- 16. Excel VBA:循環查找
- 17. excel中沒有VBA查找
- 18. 查找實際?在excel vba
- 19. excel vba查找like或regex
- 20. Excel VBA。找到()錯誤
- 21. Excel vba查找和替換
- 22. Excel VBA +查找與詞典
- 23. Excel VBA:如何找到Page1
- 24. [VBA] [EXCEL]查找附近小區的所有事件和和值
- 25. 使用VBA Excel更改24小時的日期和時間
- 26. Excel的VBA:由
- 27. Excel VBA時間戳
- 28. 在給定行找出上次使用的列 - Excel的VBA
- 29. Excel VBA - 查找函數 - 查找變量
- 30. 訪問/ Excel的VBA - 延時
您是否在尋找一個VBA或Excel的解決方案? – CallumDA
如果您正在尋找VBA解決方案,那麼'DateDiff'函數看起來就是您需要的。此函數返回所選單位中兩個日期之間的差異,從幾秒到幾年。你不說9點和21點如何舉行。如果他們被關在牢房裏,他們可能被當作日期。 Excel的日期是雙打。整數部分是自1/1/1900以來的天數,小數部分是SecondsSinceMidnight/SecondsInDay。 –