簡體   English   中英

Excel VBA - 將日期字符串轉換為日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM