• ベストアンサー

Excelからテキストへの変換に際して

Excelからテキストへの変換に際して 一つのセルに改行を含むデータがあり、それをテキストに1行として 出力したいです。 何か良い方法はありますでしょうか?

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.4

(1)該当シートを表示させておく。 (2)F11を押してVBを開く。 (3)^Gを押してイミディエイトウィンドウを開く。   あるいはメニューバーの「表示」から開く。 (4)イミディエイトウィンドウで以下の命令を   入力して、行末でリターンキーを押す。 For Y=1 To Cells.SpecialCells(xlLastCell).Row:Cells(Y,1)=Replace(Cells(Y,1),vbLf,Space(1)):Next (5)この作業後、テキストファイルに変換する。 実行した命令は改行を空白1文字に変換しています。

fufufuman
質問者

お礼

有難うございます。やりたいことが3秒で全て解決しました。 あの悩んだ数時間は何だったんだ?と言った感じです。時間があるときに、この1行の意味を調べて今後に生かせます。

その他の回答 (4)

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

こちらでは、黒い画面側はほとんど見えませんから、どうするのかは分かりませんから想像の範囲ですが、 >\nを一括置換で削除するということでしょうか? >そうすると、全てが一列になってしまうと思うのですが・・・。 それはやってみた上の話ですか? カンマ区切りしているのだから、一列になるとは思えないのですが。 もし、うまく行かないのなら、それはエディタの問題だと思うのです。 こちらのエディタ(NotePad++ 日本語版)では、\nで、いわゆる、vbLF だけ落ちて、vbCRだけが残ります。それがダメなら、VBAで作ります。(NotePad++のインストールはややこしいので、お勧めするわけではありません) "あいうえお かきこけこ さしすせそ",11.55,1.58  ↓ NotePad++ で、LF (\n) を削除した結果(右端に、\r のみが残りますから、問題があるなら、これをもう一度、CRLF に置換します。"" が残りますから、それも削除します。) "あいうえおかきこけこさしすせそ",11.55,1.58 -------  以下のVBAの結果   ↓ あいうえおかきこけこさしすせそ,11.55,1.58 Sub Test1()  Dim fn As String  Dim fNum As Integer, i As Long  Dim rng As Range, r As Variant  Dim TextLine As String  Const DELIM As String = ","  fn = Application.GetSaveAsFilename(, "CSVファイル,*.csv(*.csv)", , "出力")  If VarType(fn) = vbBoolean Then Exit Sub  Set rng = ActiveSheet.UsedRange  fNum = FreeFile()  Open fn For Output As #fNum  Application.ScreenUpdating = False  For Each r In rng.Rows   For i = 1 To r.Columns.Count    If TextLine = "" Then     TextLine = Replace(r.Cells(1, i).Value, vbLf, "")    Else     TextLine = TextLine & DELIM & Replace(r.Cells(1, i).Value, vbLf, "")    End If   Next   Print #fNum, TextLine   TextLine = ""  Next  Application.ScreenUpdating = True  Close #fNum End Sub

fufufuman
質問者

お礼

ご対応、有難うございました。

  • sekkii
  • ベストアンサー率50% (13/26)
回答No.3

エクセルで置き換えしてからテキストに出力してはどうでしょう? 以下のサイトに詳しく載っています。 http://officetanaka.net/excel/function/tips/tips09.htm 置き換え後の文字を半角ブランクにすれば ご希望通りになります。

fufufuman
質問者

お礼

有難うございました。Clean関数というもので、セル内改行を削除できるのですね。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

Ctrl+Hで置換ダイアログを出して、検索する文字列の部分に、Ctrlキーを押しながらJキーを押し(見掛け上変化なし)、置換後の文字列には何も記入せず「すべて置換」して下さい。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

そのままcsvにして、csvの改行コードをエディタで削除する。

fufufuman
質問者

補足

ご回答有難うございます。 \nを一括置換で削除するということでしょうか? そうすると、全てが一列になってしまうと思うのですが・・・。 Excelのセル中で改行されている改行のみを削除したいと考えております。

関連するQ&A

  • EXCELのテキスト変換

    EXCEL97ですが、以下のようにデータをテキスト変換する方法を教えてください。 データの中で1項目だけを取り出してテキストデータに変換したいのです。  例) 安部太郎 aaa@abc.co.jp 999-222-2222 佐藤太郎 bbb@abc.co.jp 999-333-3333 というデータのURLだけを抽出して     aaa@abc.co.jp , bbb@abc.co.jp とデータ毎に改行して、しかも間に,の行を入れてテキストとして出力したいのです。 よろしくお願いします。

  • WordからExcelへ変換しデータを揃える方法は?

    Word文書で複数のセル内にテキストデータがあります。 セル内で改行をしているものも混ざっています。 Excelに変換し、1つのWordファイルにつき、1行でデータベースをつくらねばなりません。 今、地道にしている作業は以下の通りです。 <Word> 全て選択 → コピー  <Excel> →テキストで貼り付け → 行列を入れ替えて貼り付け それでも、セル内で改行をしているものとしていないものでExcelのセルがずれてきます。 Wordのセル内で改行していても、一つのセルとして変換する方法はないでしょうか? また、うまい方法はないでしょうか?? 1300件ほど処理しなければならず、困っています。 どなたか助けてくださいっ!!

  • エクセルのセルデータをテキストに

    エクセルのセルに改行されてテキストが書かれているとき。 この複数行をそのままテストファイルに出力する方法を教えてください。 上記のセルがたくさんあり、コピーペーストでは時間がかかりすぎるため質問させていただきました。

  • テキストデータをエクセルに変換したい!

    改行されていない連続したテキストデータをエクセルに変換したいのですがどうしたらいいのでしょう? 普通、レコード毎に改行されたテキストデータならば、エクセルから該当のテキストファイルを読み込めば区切ってやればいいと思うのですが、改行されていないため、縦に並ばずにすべてのデータが横に並んでしまっています。 すいません、教えてください。

  • マイクロソフトのエクセルでテキストをインポートする方法について教えてく

    マイクロソフトのエクセルでテキストをインポートする方法について教えてください。 ※1のようなテキストをエクセルにインポートしたいのですが、通常「データ>外部データの取り込み>テキストファイルのインポート」で行うと、改行のみの行も含めてテキストの1行が1つのセルに挿入されますよね? これを改行のみの行を区切りとして、そこまでの単位で1つのセルに挿入したいのです。 ※1でいえば、aaaaaとbbbbbが1つのセルの中で改行されるカタチで挿入され、その下のセルにcccccとdddddが同様に挿入される、といった具合です。 機能でもマクロでもソフトでもどんな方法でもいいので、良い方法があれば教えてもらえませんでしょうか? ※1 aaaaa bbbbb ccccc ddddd

  • 改行されたテキストをエクセルにセルに分けて移すには

    改行されたテキストをコピーしてエクセルに貼り付けるとひとつのセルにまとめて入ってしまいます。 テキスト文書の改行ごとにセルに分けて移すにはどうしたらいいのでしょうか。 2000 2001 2002 などをExcelのセルに行をわけて移したいのですが

  • テキストファイルをエクセルに落としたい

    1行だけのテキストファイルが1000ファイル位あります。 ※1行の長さは5000文字位あります。 それをエクセルのセルに1つずつ改行をしないで入れて行きたいのですが、 手作業ではしんどく良い方法はないでしょうか? よろしくお願いします。

  • セル内改行をそんままテキスト出力するには?

    セル内で「Alt」+「Enter」で改行されたデータを VBAでテキストファイル(*.txt)に出力したいのですが、 そのままだと、セルの内容が1行になってしまいます。 どのようにすれば、セルで改行したようにテキスト内で改行できるのでしょうか?

  • リッチテキストをテキストに変換

    お世話になります。 アクセスVBAでデータをリッチテキスト形式にて出力することはできたのですが、その後、出力したリッチテキストをテキスト(改行つき)で保存する方法がわかりません。マクロなど使えば可能なのでしょうか?? 出力の際に、テキストで出力すればいいだろうって話かもしれませんが、そこはリッチテキスト形式にて出力する課題なんです(^_^;)

  • Excelのセル内にある特定文字で改行させたい

    ある汎用のシステムから出力されるテキスト(文章)をCSV形式のデータをEXCELデータに変換しています。そのEXCELに変換されたデータは、文章です。 1点問題があります。そのセル内の文章は、ある特定の記号を改行の代わりとして、連続したテキスト文章になっているため、非常に読み辛いものになっていますいます。その改行を意味する特定記号は、複数個存在し、セル内の個数は一定ではありません。  そのため、読み辛さを解消するためい、その特定記号をセル内での改行に置換させる、マクロまたはVBAでの一括処理することが出来ないでしょうか。置換処置後は、特定記号は不要です。 なお、(1)改行を意味する特定記号は、「~|」です。~と|の組み合わせで、それはそれぞれ半角表記されています。(2)1ファイルにおける対象レコード(行)は、約3,000~10,000行あり、手作業での処理は不可能です。 宜しくお願いします。

専門家に質問してみよう