[英]Excel VBA - Convert Date String to Date
我在單元格中有許多字符串是日期,但它們需要轉換為日期格式。
它們采用以下格式:
mmm dd, yyyy
例如:
Feb 10, 2016
所以它們的長度可以是 11 或 12:
Feb 1, 2016
我已經開始編寫一個函數來單獨解析字符串的每個部分(日為整數,月為整數,年為整數),然后轉換為日期格式。
首先,有沒有比上面更簡單/更巧妙的方法來做到這一點?
如果沒有更簡單的方法,最好將 3 個字母的月份(例如二月或三月或四月)轉換為月份數(例如 2 或 3 或 4)? 因為這是我真正堅持的唯一一點。
在 VBA 中,您可以使用: cdate("Feb 10, 2016")
。
作為一個函數,這將是:
Public Function ConvertToDate(rng As Range) As Date
ConvertToDate = CDate(rng)
End Function
使用Date
變量讀取值,然后使用Format
函數按您認為合適的方式格式化日期。
例如:
Sub test()
Dim D As Date
D = Range("A1").Value
MsgBox Format(D, "mm/dd/yyyy")
End Sub
如果我在 A1 中使用字符串“Feb 10, 2016”運行代碼,則消息框中會顯示“02/10/2016”
試試這個:
Sub test()
MsgBox Month(Datevalue("Feb 10, 2016"))
End Sub
這將給出: 2
你真的需要VBA嗎? Excel 為您提供 Text to Date 函數=DATEVALUE()
並且它確實識別Feb 10, 2016 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.