• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBAでのCSV出力について)

EXCEL VBAでのCSV出力について

このQ&Aのポイント
  • EXCEL VBAを使用してCSV形式でデータを出力する方法について教えてください。
  • Excelで入力された日付をVBAでCSV出力する場合、日付の形式が変わってしまいます。そのため、保存されたCSVファイルをExcelで読み込むと日付が文字列として認識されます。この問題を解決する方法について教えてください。
  • VBAでCSV保存する際に、日付をYYYY/MM/DD形式で保存する方法や、MM/DD/YYYY形式のCSVを日付としてExcelで認識させる方法について教えてください。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。 私のPC(XP Pro+Office2003)でテストを行ったときは、YMD形式で書き込めましたよ。またMDY形式のデータも正しく読み込めました。 となると、Officeのバージョン、マクロ、PC環境などの何かが異なるのでしょう。でも補足にもそれを判断する材料が全く書かれていないので、何とも回答のしようがありません 私がテストしたデータはA列に日付を入力しただけのものです  A列 2008/1/1 2008/1/2 2008/1/3 2008/1/4  以下続く そのデータに対して ActiveWorkbook.SaveAs Filename:="C:\Book1.csv" ,FileFormat:=xlCSV ,Local:=True の1行だけを実行したらどうなりますか? やはりダメなら先のURLにあるようなPC環境(日付のプロパティ等)も確認してください 読み込みで「文字列になる」も再現しませんのでコメントできません。「データ」→「外部データの取り込み」で読み込む手段もありますから試してみてください。

panajirou
質問者

お礼

zap35様 本日ご入力いただきましたマクロ1行のみで行ったところうまく行きました。 昨夜は何度やっても出来なかったのですが・・・。2度もご教授頂き有難うございます。 実際のプログラムにも組み込んで問題の無い事が確認できました。 有難うございました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

Offce2002以降なら  ActiveWorkbook.SaveAs Filename:="Z:\Book1.csv", _     FileFormat:=xlCSV ,Local:=True のようなマクロで表示形式通りにcsvに書き込めます。 逆にMDY形式(1/3/08)で作成された日付は  Workbooks.Open "Z:\Book2.csv" ,Local:=False で読み込めばYMD形式(2008/1/3)になります。 下記URLに説明がありますからご覧になってください http://support.microsoft.com/kb/410237/ja もし2000以前のバージョンなら文字列に変換してcsvにする方法が紹介されています。

panajirou
質問者

お礼

zap35様 ご返答頂き有難うございます。 マクロを自動保存してそのマクロに Local:=True を追加してみましたが、結果は同様にmm/dd/yyyy hh/mmでした。再度EXCELで読んでみましたが文字列のままで変更が出来ませんでした。保存する際のパラメーターで入力の状態が保たれれば一番いいのですが、何らかの手段はないものでしょうか?

関連するQ&A

専門家に質問してみよう