繁体   English   中英

VBA Excel 将日期时间转换为文本

[英]VBA Excel Convert Date Time to Text

我想将日期时间转换为文本。

示例:10/22/2019 2:10 PM 应转换为 43760.59028。 如果我试图转换电子表格中的单元格,我知道如何执行此操作,但我正在尝试转换日期时间变量。

我试过: vdate = Format(CDate("10/22/2019 2:10 PM"), "@")

我最终得到一个字符串,而不是文本转换为数字。

如何转换日期或日期时间并将值存储在变量中?

Format产生一个String ,你不希望这样。

vdate声明为Double

Dim vdate As Double

现在这将起作用:

vdate = CDate("10/22/2019 2:10 PM")

...但这是从DateDouble的隐式类型转换; 你可以明确表示:

vdate = CDbl(CDate("10/22/2019 2:10 PM"))

...正如斯科特在评论中提到的

这个例子可能对你有帮助

Sub convert_date2txt()
     Dim theRange as Range
     Set theRange = Selection
     Dim sDate As String
     For Each theCell In theRange
         sDate=Format(theCell,"dd/mm/yyyy")
         theCell.Value = sDate
         theCell.NumberFormat="@"
     Next
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM