在 VBA 中将日期转换为文本

VBA*_*ete 3 excel vba

我有一个数据集,其中包含文本形式的值,例如“2016 年 3 月”。

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

DataFin.Range("E9:E9") = DateSerial(Year(Date), Month(Date), 0)
DataFin.Range("E9:E9").Text = Format(DateSerial(Year(Date), Month(Date), 0), "mmmm yyyy")
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢,

皮特

Ron*_*eld 6

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

例如:

Sub demo()
    Dim DT As Date
DT = Date

With Range("a1")
    .NumberFormat = "@"
    .Value = Format(DT, "mmmm yyyy")
End With
End Sub
Run Code Online (Sandbox Code Playgroud)