0

VBA を使用して、Exel シートにさまざまな日付形式を印刷しようとしています。ただし、「yyyy-mm-dd」形式または「mmm dd、yyyy」形式を出力できないようです。セルが正しい形式で出力されないようです。例えば:

'Declare new date variables
Dim LongDateFmt As String
Dim ShortDateFmt As String
Dim MediumDateFmt As String
Dim NewDateFmt As String
'Change the date to the new submission date
    MediumDateFmt = Format(Date, "yyyy-mm-dd")
    Range("A1").Value = MediumDateFmt
    LongDateFmt = Format(Date, "Long Date")
    Range("A2").Value = LongDateFmt
    ShortDateFmt = Format(Date, "Short Date")
    Range("A3").Value = ShortDateFmt
    NewDateFmt = Format(Date, "MMMM dd, yyyy")
    Range("A4").Value = NewDateFmt

A1 は 2013 年 6 月 13 日、A2 は 2013 年 6 月 13 日、A3 は 2013 年 6 月 13 日、A4 は 2013 年 6 月 13 日を印刷します。

これは設定の問題ですか、それとも私のコードが間違っていますか?

4

2 に答える 2

4

セルの書式を変更し、書式設定された文字列を使用しないでください

with Range("A1")
   .Value = Date
   .Numberformat = "yyyy-mm-dd"
end with

例えば

于 2013-06-13T12:27:18.460 に答える
2

Formatセルのフォーマットを希望どおりに設定するのではなく、指定されたフォーマットの文字列を提供するだけです。その文字列をセルに挿入しても、セルの現在の書式設定が影響を与える可能性があるため、必ずしも必要な結果が得られるとは限りません。

セル自体のフォーマットを変更したい場合は、そのNumberFormatプロパティを次のように設定する必要があります。

Range("A1").NumberFormat = "yyyy-mm-dd"
于 2013-06-13T12:31:52.387 に答える