在VBA中将日期转换为文本

时间:2016-04-08 19:15:28

标签: excel vba excel-vba

我有一个数据集,其中包含的值为文本,例如" 2016年3月和#34;。

现在我已经编写了以下代码来在我的报告表中复制它:

DataFin.Range("E9:E9") = DateSerial(Year(Date), Month(Date), 0)
DataFin.Range("E9:E9").Text = Format(DateSerial(Year(Date), Month(Date), 0), "mmmm yyyy")

它具有正确的格式,但当我点击单元格时,该值表示" 3/1 2016"而不是" 2016年3月"。

任何想法如何将基础价值更改为" 2016年3月"

谢谢,

皮特

1 个答案:

答案 0 :(得分:3)

您必须将单元格格式化为文本,然后将值设置为所需日期的文本值。

例如:

Sub demo()
    Dim DT As Date
DT = Date

With Range("a1")
    .NumberFormat = "@"
    .Value = Format(DT, "mmmm yyyy")
End With
End Sub