2016-04-08 2 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

はい、これは私が後にしたものです。 –