• ベストアンサー

エクセルで作成したデータすべてを文字列として、テキストで保存するには?

 ” ”で囲まれたデータを一度エクセルで読み込んだ後で、テキスト保存すると” ”が消えています。  そのまま読み込むと0で始まる数列の0が消えてしまいます。  最初に読み込むときから” ”は付いていません。  すべてのセルのデータに” ”をつけたり、” ”で保存する方法や関数をご存知の方いらっしゃいませんか?

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 Excel の CSV 入出力はフィールド区切り文字(”)をサポートしてません。 正確に言えば、セル内改行があるとそこだけ入りますが(--;) Access で読み込んでテキスト出力してみては? どうしても Excel でやりたいのであれば、マクロを書くしかないと思います。

amondyuru
質問者

お礼

回答ありがとうございました。

amondyuru
質問者

補足

 アクセスで使うデーターなのですが、アクセスの使い方がよくわからなくて・・・  その後アクセスの扱い方を覚えて、何とか目的は達せました。  皆様の回答でエクセルでは無理ということが判って、余計な回り道をしないですみました。

その他の回答 (3)

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

>関数をご存知の方 関数は読み込みや保存の方式まで指図できません。セルの値を整えることができるだけです。セルの値は文字列にしたうえで(書き出す際の)の質問ですから、関数に期待するのは原理的に無理です。 エクセルは数字のデータを読み込むと数値化するようなのでどうしようもないです。 VBAでプログラムをくむよりほかないでしょう。 1行全部を””で囲ったファイルを作り、A列に読み込んで、データ、区切り位置で列の文字列、数値、日付を指定する。 またはVBAでセルに値をセットするとき列の書式を文字列にする。 Sub test01() Range("A20").NumberFormat = "@" Range("a20") = "0023" End Sub はA20が「0023」になりました Sub test01() Range("a20") = "0023" End Sub は23になってしまいます。 Sub test01() Range("a20") = "0023" Range("a20").NumberFormat = "@" End Sub にしても「0023」になった。 また後からでも書式を=TEXT(E6,"0000")のようにして、先頭0つき文字列にすればよいのかもしれない。

amondyuru
質問者

お礼

ありがとうございましす。

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

>関数をご存知の方 関数は読み込みや保存の方式まで指図できません。セルの値を整えることができるだけです。セルの値は文字列にしたうえで(書き出す際の)の質問ですから、関数に期待するのは原理的に無理です。 エクセルは数字のデータを読み込むと数値化するようなのでどうしようもないです。 VBAでプログラムをくむよりほかないでしょう。 1行全部を””で囲ったファイルを作り、A列に読み込んで、データ、区切り位置で列の文字列、数値、日付を指定する。 またはVBAでセルに値をセットするとき列の書式を文字列にする。 Sub test01() Range("A20").NumberFormat = "@" Range("a20") = "0023" End Sub はA20が「0023」になりました Sub test01() Range("a20") = "0023" End Sub は23になってしまいます。 Sub test01() Range("a20") = "0023" Range("a20").NumberFormat = "@" End Sub にしても「0023」になった。 また後からでも書式を=TEXT(E6,"0000")のようにして、先頭0つき文字列にすればよいのかもしれない。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

EXCELから、テキスト保存と言っても、いくつかあります。CSV, TSV, SYLK など、どれなのか分かりません。 そのうち、CSV でしたら、以下の方法が可能だと思います。 メニューの[データ]-[外部データの取り込み]-[テキストファイルのインポート] で、 目的のテキストファイルを選んで、カンマ切りなど、適当な区切り文字を選んだら、後は、 カンマやタブなどの区切り文字…… で、 「次へ」 でフィールドが決まったら、 「次へ」 で、フィールドを文字列(T)にすれば、 001 002 となります。 ただ、他のTSVなど、区切り文字(, )が存在しないと、この方法はちょっと難しいかな?

amondyuru
質問者

お礼

ありがとうございます。

関連するQ&A