我正在尝试使用VBA在Exel表格中打印出不同的日期格式。但是,我似乎无法输出“yyyy-mm-dd”格式,或“mmm dd,yyyy”格式。单元格似乎没有打印出正确的格式。例如:
'Declare new date variables
Dim LongDateFmt As String
Dim ShortDateFmt As String
Dim MediumDateFmt As String
Dim NewDateFmt As String
'Change the date to the new submission date
MediumDateFmt = Format(Date, "yyyy-mm-dd")
Range("A1").Value = MediumDateFmt
LongDateFmt = Format(Date, "Long Date")
Range("A2").Value = LongDateFmt
ShortDateFmt = Format(Date, "Short Date")
Range("A3").Value = ShortDateFmt
NewDateFmt = Format(Date, "MMMM dd, yyyy")
Range("A4").Value = NewDateFmt
A1打印出13/06/2013,A2打印13-Jun-13,3A打印出13/06/2013,A4打印13-Jun-13。
这是设置问题还是我的代码错了?
答案 0 :(得分:4)
您应该更改单元格格式而不使用格式化字符串
with Range("A1")
.Value = Date
.Numberformat = "yyyy-mm-dd"
end with
例如
答案 1 :(得分:2)
Format
不会将单元格的格式设置为您想要的格式,它只是为您提供指定格式的字符串。将该字符串插入单元格不一定能为您提供所需的结果,因为单元格的当前格式可能会产生影响。
如果您想更改单元格本身的格式,您需要设置其NumberFormat
属性,例如:
Range("A1").NumberFormat = "yyyy-mm-dd"