日付を次の形式で表示する日付表示用のテキストボックスがあります:2012年4月17日ですが、「2012年4月17日」のように表示されるようにフォーマットしたいと思います。このコードを試しました
UserForm1.txtDate = Format(Long Date)
コンパイラから構文エラーが発生します。どうすればよいか教えてください。ありがとう
これに関する投稿がいくつかあります。犯人はシステムの日付形式のようです。ショート、ミディアム、ロング フォーマットを使用すると、システム設定が変更されたときに結果が変わります。
Format$(yourdate, “dd/mm/yyyy”)
Format$(yourdate, “short date”)
フォーマットを明示的に定義することを見ると、地域設定を策定していることになります。
たとえば、短い日付は常に mm/dd/yyyy になるとは限りませんが、dd/mm/yyyy になる可能性があります。これは、実際に形式を指定するよりも重要な利点です。システムに依存するのではなく、日付の表示方法を変更するだけです (知識の有無にかかわらず)。
これに最初に遭遇したとき、VBA アプリを作成し、独自のローカライズされたシステム日付形式を持つ別の場所にある別の場所にそれを送信する人がいました。電話が鳴る... ;)
あなたの場合は、
UserForm1.txtDate.Value = Format$(Date,"mmmm dd, yyyy")
または、超安全にするために、
Dim dtDate as Date
dtDate = DateSerial(Year(Date), Month(Date), Day(Date))
UserForm1.txtDate.Value = Format$(dtDate, "mmmm dd, yyyy")
それが役立つことを願っています。