エクセルマクロで、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選
...
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク