2016-04-08 238 views
1

我有一個數據集,其中包含諸如「2016年3月」之類的文本的值。將日期轉換爲VBA中的文本

現在,我寫了下面的代碼在我的報告單複製此:

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

它具有正確的格式,但是當我在單擊單元格值狀態「2016年3月1日」,而不是「2016年3月」。

任何想法如何,我可以改變的潛在價值,以「2016年3月」

感謝,

皮特

+0

格式它是不是一個格式問題,我想單元格的值是文本的單元格 –

+0

「2016年3月」而不是」 2016年3月1日 –

+0

見我的答案公佈更完整的解釋 –

回答

1

必須格式化單元作爲文本,然後將該值設置爲文本值你想要的日期。

例如:

Sub demo() 
    Dim DT As Date 
DT = Date 

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

是的,這正是我所追求的,謝謝你的幫助! –