エクセルマクロで、CSVの日付が逆になって困るときの対処方法をご紹介します。
ぜひお試しください!
CSVの日付が逆になる現象発生
以下のマクロを実行すると、日付形式が逆になる現象が発生しました。
Sub 日付CSV逆になる()
'新規ファイル作成
Workbooks.Add
With ActiveSheet
.Cells(1, 1) = "りんご"
.Cells(1, 2) = "2021/10/11"
.Cells(1, 3) = "120"
End With
'CSV作成
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "\" & "テスト.csv", FileFormat:=xlCSV, Local:=True
'CSVを閉じる
Application.DisplayAlerts = False
ActiveWorkbook.Close True
Application.DisplayAlerts = True
End Sub
マクロ実行後
VBAで出力したCSVを開くと、
日付が逆(mm/dd/yyyy)になっていました。
yyyy/mm/ddにしたい・・!

解決方法
以下のマクロを実行すると、日付が勝手に逆になる現象を解決します。
Sub 日付CSV逆になる解決()
'新規ファイル作成
Workbooks.Add
With ActiveSheet
.Cells(1, 1) = "りんご"
.Cells(1, 2) = "2021/10/11"
.Cells(1, 2).NumberFormatLocal = "yyyy/mm/dd"
.Cells(1, 3) = "120"
End With
'CSV作成
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "\" & "テスト.csv", FileFormat:=xlCSV, Local:=True
'CSVを閉じる
Application.DisplayAlerts = False
ActiveWorkbook.Close True
Application.DisplayAlerts = True
End Sub
マクロ実行後
年月日の表示形式を「yyyy/mm/dd」にすることができました。
このページの一番上でご紹介したコードに、以下を1行追加すると解決できます。
[.Cells(1, 2).NumberFormatLocal = “yyyy/mm/dd”]

この記事がお役に立ちますと幸いです。

【エクセルマクロ】CSV処理を自動化:超便利10選
エクセルマクロで、CSV処理を自動化するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!
ド素人でも100倍速! ChatGPT×Excel 時短技大全
「やりたいこと」を書くだけでExcel作業もマクロも自動化できる一冊
リンク
★★★★☆ 4.0 ※ Amazonカスタマーレビューより
✓ExcelVBAを使ったAIへの質問・依頼のコツがよくわかる
✓マクロをAIに自動生成させる発想が新しく、実務でそのまま使える事例が多い
✓住所分割・重複チェックなど、すぐ使える実用マクロ事例が豊富