我有 vba 函式來分割我的作業表上的日期/時間,但是當它找到 0:00AM 時它會停止,我不知道如何解決這個問題
代碼
Function extractDateTime(strTime As Date) As Variant
Dim arrD, d As String, t As Date
arrD = Split(strTime, " ")
d = arrD(0)
t = CDate(arrD(1) & " " & arrD(2))
extractDateTime = Array(d, t)
End Function
當它在上午 12:00:00 找到日期/時間時的圖片函式不回傳值 arrD(1) 和 arrD(2)

單元格值

功能正常作業時的圖片

uj5u.com熱心網友回復:
始終將日期/時間作為Date 處理,不是文本,不是數字,沒有例外。所以:
Public Function ExtractDateTime(Value As Date) As Variant
Dim d As Date
Dim t As Date
d = DateValue(Value)
t = TimeValue(Value)
ExtractDateTime = Array(d, t)
End Function
uj5u.com熱心網友回復:
決議空格的日期并不是一個很好的方法。
相反,您可以使用它Format來獲取您想要的部分。
Function extractDateTime(dt As Date) As Variant
Dim d As String, t As String
d = Format(dt, "dd/mm/yyyy")
t = Format(dt, "hh:mm:ss AMPM")
extractDateTime = Array(d, t)
Debug.Print d
Debug.Print t
Debug.Print Format(dt, "mmm dd, yyyy")
Debug.Print Format(dt, "mmmm")
Debug.Print WeekdayName(Weekday(dt))
End Function
當你可以這樣做時,有點像浪費一個功能:
Result = Array(Format(dt, "dd/mm/yyyy"), Format(dt, "hh:mm:ss AMPM"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/348360.html
上一篇:無法讀取系列點值
