• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSV保存マクロ 日付が逆になり困っています。)

CSV保存マクロ 日付が逆になり困っています

このQ&Aのポイント
  • エクセルのシートで日付を記載し、CSVで保存するマクロを実行する際に、日付が逆になってしまう問題について困っています。
  • マクロに詳しい方に、この問題の解決方法を教えていただきたいです。
  • 調べても解決策が見つからず、困っています。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>エクセルのシートで2018/1/21とセルに記載したものを 下記マクロ(標準モジュールにコード記載)して、CSVで保存しています。 >実行後CSVを開くと、21/1/2018になって逆になります。 再確認してください。 日本の日付は標準で"yyyy/m/d"なのでCSVで保存前は日本語版のExcelと言うことが分かります。 保存されたCSVファイルでは"d/m/yyy"となっているとのことですが実際は日と月が逆の"m/d/yyyy"(1/21/2018)ではないでしょうか? Microsoftは米国の会社なのでVBAで無指定のとき日付の標準フォーマットは"m/d/yyyy"と解釈されたのではないでしょうか? SaveAsのオプションでLocal:=Trueを追加することで解決できるかも知れません。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

Googleで、例えば、「csvファイル 読み込み 日付書式」で照会して、出てくる記事を適当に選んで読んでください。 有名な質問事項なので、それらの説明に尽きると言える。 https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_winother-mso_2010/%EF%BD%83%EF%BD%93%EF%BD%96%E3%83%87%E3%83%BC/682cbe27-fb0b-474d-a2ef-90fba7461926など

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

#2のご回答の通りでしょう。 日付の値はひdけ日付シリアル値という20世紀に入ってからの経過日数であることを知っているのかな。日本、欧米とも同じだろう。 マクロをやりながら、エクセルでは、セルの値に対し+書式適用の結果がセルに見えて居ることを知っているのかな。 それがデフォルト書式として、英米式や日本式が利用エクセルの国別バージョンで、とりあえずどれか1つ採用されている。 読みこんだのちに、セルの書式を手動やVBAで変えれば済むこと。 CSVの日付ソース部分をいじくって日付文字列にすることも可能だが、計算や日付書式として、日付として使えず困ることの方が多いだろう。 ーー 参考になれば 例のデータ A2:B3 2018/1/20 130 2018/1/23 140 ーーー Sub test01() Open "日付表示,csv" For Output As #1 For i = 2 To 3 dt = Cells(i, "A") Data = Cells(i, "B") dt1 = Format(dt, "yyyy/mm/dd") dt2 = Format(Data, "#,##0") Print #1, dt1, dt2 Next i Close #1 End Sub メモ帳で表示すると 2018/01/20 130 2018/01/23 140 ーー "yyyy/mm/dd"のところを適当に変えるだけで好みの書式表示になる。 参考 http://www.atmarkit.co.jp/ait/articles/1504/30/news014.html http://programming-study.com/technology/vba-date/

  • skp026
  • ベストアンサー率45% (1010/2238)
回答No.1

出力したcsvをメモ帳などテキスト用ソフトで 開いた場合はいかがでしょうか。 問題がない場合は、Excelで開くときに変換されています。 対策は以下を参考ください。 http://global-wing.com/activity/csv_point_convert.html あとは地域設定です。 お使いのosが不明ですがWindowsならコントロールパネルの 地域の設定が日本以外になっていないか確認や、 日付書式がyyyy/mm/ddになっているか確認ください。 以下はWindows7の場合の例です http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=011856 参考にならなかったらごめんなさい。