簡體   English   中英

Excel VBA 將文本轉換為日期

[英]Excel VBA to convert text to date

我的日期是“yyyy.mm.dd”格式的文本,我想將它們轉換為日期。
此代碼有效:

x = "2012.01.01"
d = DateSerial(Left(x, 4), Mid(x, 6, 2), Right(x, 2))

但是有沒有更簡單的方法呢?
我認為這會起作用(這應該很簡單),但它沒有:

d = Format(x, "yyyy.mm.dd")

對於您的具體示例,請嘗試以下操作:

d= Replace(x, ".", "/")
d= Format(CDate(d),"yyyy/mm/dd"))

實際 function 轉換為日期:

CDate(d)

來自: https://www.techonthenet.com/excel/formulas/cdate.php

Microsoft Excel CDATE function 將值轉換為日期。

CDATE function 是 Excel 中的內置 function 被歸類為數據類型轉換 Z7256400ZDF。 它可以用作 Excel 中的 VBA function (VBA)。 作為 VBA function,您可以在通過 Microsoft Visual Basic 編輯器輸入的宏代碼中使用此 function。

總結一下: CDATE 是轉換為 Date 的實際方法,但它有句點問題。

該格式用於執行字符串格式化 - 但實際轉換是使用CDATE完成的。

Format用於將日期值格式化為文本,而不是轉換為日期值。 因此:

Dim d As Date

x = "2012.01.01"
d = CDate(Replace(x, ".", "/"))

然后將日期格式應用於要顯示這些值的單元格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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