8月中旬に作成したスプレッドシートがあり、それ以降、毎日1列のテーブルがあります。列ヘッダーはその日の日付です。日付はどのように表示したいかが表示されます: "dd / mm / yyyy"
ただし、作業を実行するためにこれらの日付を読み取る必要があるマクロがあります。テーブルを使用しているため、日付は5桁の数字ではなくテキストとして保持されているようです(ヘッダーセルの形式を「一般」に設定すると、「dd / mm /yyyy」形式のままになります) 5桁の数字に変更します。これは、9月1日まで問題ではありませんでした。その後、CDate(マクロ内)はこれらの日付を「mm / dd/yyyy」として読み取り始めました。
CDateにアメリカではなくオーストラリアの日付形式を認識させる方法はありますか?または、それができない場合は、テーブルヘッダーをテキストではなく日付のままにしますか?マクロはテーブル属性、ListColumnsなどを使用するように設計されているため、テーブルを範囲に戻す必要はありません。
アップデート:
問題を絞り込みました。日付ではなく、ListColumn.Nameプロパティです。どういうわけかそれは私の日付を再変換しています。私はFormat()
次のように日付形式を設定するために使用しています:
CreateHistoryColumn.Name = Format(headerDate, "dd/mm/yyyy")
MsgBox Day(headerDate) & "/" & Month(headerDate) & "/" & Year(headerDate)
MsgBox Format(headerDate, "dd/mm/yyyy")
MsgBox CreateHistoryColumn.Name
CreateHistoryCol
クラスのオブジェクトはどこにありますかListColumn
。3つのMsgBox呼び出しは、次を表示します。
2012年6月9日2012年6月9日2012年9月6日
したがって、Format()
呼び出しは日付を正しくフォーマットしますが、への呼び出しListColumn.Name
はフォーマットを「mm / dd/yyyy」に変更するのに役立ちます。