• ベストアンサー

CSVで保存するとセルの書式が継続しません。

(質問) EXCELをCSV形式で保存した時に、"0000199"という文字列(数字?)のままにしたい場合、どのようにマクロに記述をしたらよいでしょうか。 ActiveWorkbook.SaveAs FileFormat:=xlCSV (状況) EXCELのセルに"0000199"という文字列(数字?)がはいっています。 |0000199 | セルのイメージ (セルの左側に数字がよっているということは、文字列の形式でしょうか?) これを、CSV形式にして保存すると、先頭の0000がとれてしまい、次のようになってしまいます。 | 199| (セルの左側に数字がよっているということは、数字の形式でしょうか?) 以上 よろしくお願い致します。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> セルの左側に数字がよっているということは、文字列の形式でしょうか? 文字列の形式にしないと先頭に0はつけられません。 > これを、CSV形式にして保存すると、先頭の0000がとれてしまい、次のようになってしまいます。 CSVにしたからとれるのではなく、CSVファイルをエクセルで開くから、その瞬間にとれるのです。ためしに拡張子を.txtにかえてメモ帳で開いてみてください。

yokoneco
質問者

補足

なるほど! txtにして開いたら、先頭に0000がついていました。 そうすると、CSVファイルをエクセルで開く瞬間に"0000"が、とれないようにするためのマクロ記述方法はあるのでしょうか? それとも、 ANo.1 x1vaさんにご紹介頂いたテキストファイルウィザードのような方法しかないのでしょうか? ​

その他の回答 (1)

  • x1va
  • ベストアンサー率26% (802/3006)
回答No.1

テキストファイルウィザードを使いましょう。 http://hp.vector.co.jp/authors/VA014071/tips/txtwiz_1.html この方法では拡張子をtxtに変更すると書かれていますが、そんなことしなくても データ→外部データの取り込み→テキストファイルのインポート からウィザードが始まります。

yokoneco
質問者

補足

あっ!!!!!!よくわかりました。 Excel が勝手に(?)判断してデータ型を決めてしまうことが原因だったのですね。 ただ、.csvのファイルをEXCELで開こうとすると、ウィザードが出る前にCSVファイルが開いてしまうため、本ウィザードが利用できませんでした。 やり方がまずかったのでしょうか?

関連するQ&A