在VBA中将date转换为文本

我有一个包含“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") 

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

任何想法如何我可以改变基础的价值,以“2016年3月”

谢谢,

皮特

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

例如:

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