- ベストアンサー
VBAでのCSV保存
VBAでExcelのデータを保存したく、 ActiveSheet.SaveAs _ Filename:=xxxxx, _ FileFormat:=xlCSV といった感じにしています。 ほぼこの方法で問題ないのですが、なぜか変形してしまう データがあります。 文字列として2004/6/18といった形で入力しているデータが 6/18/2004のように変化してしまいます。 FileFormatを指定しなければ、2004/6/18のままですが、 それではCSVファイルになりません。 どうしたらいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ああ いい 2004/6/18 ←セル書式「日付」 うう ええ 2004/6/18 ←セル書式「文字列」 上記のデータで Sub aaa() ActiveSheet.SaveAs _ FileName:=ThisWorkbook.Path & "\test.csv", _ FileFormat:=xlCSV End Sub で試してみました。 結果をテキストエディタで開いたところ ああ いい 6/18/04 ←セル書式「日付」にした時 うう ええ 2004/6/18 ←セル書式「文字列」にした時 > 文字列として2004/6/18といった形で入力しているデータが これを確認されては? 「日付」になっているセルは、セルの書式を「標準」にすると数値に変ります。
その他の回答 (3)
- pc6001
- ベストアンサー率23% (3/13)
どうもです. 下記のレスを補足させていただきます. csvで出力ということなので,セルの値を一つずつ読み出し,コンマ区切りでテキストファイルに書き出すことも可能ですよね. 書き出すときにFormat文で厳密にフォーマットを指定してあげれば希望のフォーマットで記録できます. Excelの機能だけでも実現可能なのだとは思いますが, 以前に,Excelのバージョンや設定の関係で,日付関係の実行結果が異なる場合があり,困ったことがありました.そのような場合には,有効な手段だと思いますよ. なお,Excelの機能だけで解決できれば,それで十分だと思います.
- TAGOSAKU7
- ベストアンサー率65% (276/422)
CELLを読み取ることろ Cells(Row,Col).Text としてもだめ? Format(データ,'YYYY/MM/DD') などもありけり
- hana-hana3
- ベストアンサー率31% (4940/15541)
コントロールパネルの地域設定で、日付の表示形式はどうなっていますか? "m/d/yyyy" 形式になっているところはありませんか?
お礼
正にこの、通りでした。 他の3名の方も大変有難うございました!!