• ベストアンサー

改行のあるCSVファイルをExcelに読み込みたい

CSVファイルをExcelにインポートしたいのですが CSVファイルのデータ内に改行が入っていたので、レイアウトが崩れて、 うまくExcelにインポートできない状態です。 改行を置き換えで取り除くと、すべて横並びになってしまいます。 1レコードは59項目と決まっているのですが、手作業で改行を入れるのは 数が多く難しそうです。 なんとかうまく取り込む方法はないでしょうか? プログラミングは全くわかっていない初心者ですが、 エクセルのVBAにコピペして実行することは可能です。。。 カテ違いだったらすみません><

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

  • ベストアンサー
  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

>改行を置き換えで取り除くと、 置き換えは出来るのですね。 それと、セル内の改行は潰していいのですか? では、「"改行」を「"タブ」に変換。 「改行」を「適当な文字」に変換。 「"タブ」を改行に変換すればいけるかな?

00002345
質問者

お礼

早々のご回答ありがとうございます。 この置換で開くことが出来ました。 どうもありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

>1レコードは59項目と決まっている ベタですが。 sub macro1()  dim i as integer  dim r as long  dim buf as variant  open "C:\test\test.csv" for input as #1  r = 1  do until eof(1)   for i = 1 to 59    do     input #1, buf    loop until buf <> "" or eof(1)    cells(r, i) = buf   next i  r = r + 1  loop  close #1 end sub

00002345
質問者

お礼

早々のご回答ありがとうございます。 私の勉強不足のため。。。VBAでは開けなかったのですが、 置換にてファイルを開くことが出来ました。 また機会があればいろいろ試してみたいと思います。 今回は本当にありがとうございました。

関連するQ&A

  • Excelで改行が含まれたフィールドをcsvに変換する際改行を取る方法を教えてください

    ExcelをCSVファイルにする必要があり、レコードの形式を "aaa","bbb","ccc"改行コード にしたいいと考えております。(それぞれのフィールドに改行コードは不可) Excelファイル時に、改行を置換(Ctrl+JをNULLで置換)しCSVで保存しエディタで見ると改行が残っています。(CR-LFがCRに置換されているため) 使用しているエディタはEmエディタです。 Accessでインポートしたのちtxtでエクスポートしても結果は一緒でした。 フィールド内の改行だけを取る方法はありますでしょうか。

  • 項目内改行があるCSVの書式設定ができません

    お世話になります。 現在、Excel2010のVBAを使って、ある項目内に改行CRLFを含むCSVを Excelシートにコピーして加工するマクロを作成しようとしています。 CSV1レコードの例) "001","b","c","d[CR][LF] e[CR][LF] f[CR][LF] g","h" 4項目名に改行が含まれますが、1レコードあたり5項目のCSVです。 CSVをExcelに取り込むには様々な方法があると思いますが、改行を含んでいても正しく取り込める方法として、 現在は下記のようにOpenText関数を使用して読み込みを行い、シートへ貼り付けています。 Workbooks.OpenText fileName:=取り込みたいファイルの名称, StartRow:=1, _ DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _ Comma:=True, Space:=False, Other:=False, _ FieldInfo:=Array(Array(1, xlTextFormat), Array(2, xlTextFormat), _ ・・・・・・・・・・・・・・ このとき、CSVの取込自体はできるのですが、FieldInfoで指定した書式指定 (ここでは文字列をあらわすxlTextFormat)が無視されてしまい、 Excelに取り込んだときには文字列でなく標準の書式になっています。 つまり上記の例では1項目目の"001"が桁落ちして1となってしまいます。 ネットで調べたところ、OpenText関数では拡張子csvのファイルを読み込む際には FieldInfo指定が無効となるとありました。そこでファイルの拡張子を.txtに変えてみたところ、 今度は項目内改行が認識されず、行区切りの改行とみなされてしまって、項目取り込みがずれてしまいます。 なんとか、桁落ちせず、なおかつ項目内改行も正しく認識できるような方法はないでしょうか。 OpenText関数以外の方法でもかまいませんので、有識者の方々にご教授いただければ、 と思っております。 よろしくお願いします。

  • CSVファイルをエクセルファイルにインポートさせるには?

    おせわになります CSVファイルをエクセルファイルにインポートさせたいのですが 方法は ユーザーフォームをにテキストボックスと参照ボタン、実行ボタンを作成し 参照ぼたんでCSVファイルを選ぶ テキストボックスには参照先の住所が記載され 実行ボタンでsheet1にB2から貼り付けさせたいのですが可能ですか? 又、CSVの情報が不要な列もあります 必要な列のみ落とし込みをしたいです 当方初心者でVBAコードがあれば幸いです。 わかる方よろしくおねがいします

  • Access2000 CSVファイルのインポート

    アクセスでCSVファイルをインポートしようと思うのですが CSVファイルに項目がありません。 COBOLで作成したファイルなのですが レコードだけの状態です。そのままインポートしようと しても文字化けのような感じになります。 どうしたらよいでしょうか?

  • Access又はExcelで256項目を超えるCSVファイルをインポートしたい

    たとえば500項目(フィールド)あるCSVファイ ルを取り込みたいのですが、AccessもExcelも 256項目までしかインポートできません。 500項目を200項目ごとに  1回目   1~200項目まで  2回目 201~400項目まで  3回目 401~500項目まで 分けてでもいいのですが。 又直接でなくても 別途、エディッタを使うとかで加工後、Access にインポートするでもOkなんです。 ただ、レコード件数が多いため1レコード毎に加工 するのは無理なんです。 何かよい方法はないでしょうか? 

  • CSVファイル操作

    VBでCSVを操作しているのですが、わからないことがあるので教えてください。 1.CSVファイル(改行区切り)のレコード数を取得するにはどうすればいいですか? 2.CSVファイル(改行区切り)の最初のレコードのみ削除するにはどうすればいいですか?   また、レコードを指定して削除することはできますか? 3.CSVファイル(改行区切り)のレコードを指定して内容を変更することはできますか? Windows XP , VB6

  • エクセル2010 CSVレイアウト崩れ

    「よくある質問」とはちょっと違うと思います。 あるCSVファイルを、そのままダブルクリックするとエクセルで開いてくれるPCがあります。 そのようにして開くとレイアウト崩れはありません。 で、同じCSVファイルをエクセルの「データ」→「外部データの取り込み」→「テキストファイル」で読み込むと、レイアウトが崩れてしまうのはなぜでしょうか。 なぜこのような質問をするのかというと、ちょっと説明が難しいのですが、なるべく簡潔に箇条書きにしてみます。 1 まず、このCSVファイルは自社で使っているオリジナルのシステムがCSV形式で吐き出すファイルであるという事実 2 このファイルは、ところどころ長文があり、セル内で改行が必要。なので長文の部分はダブルクォーテーションで改行を含め全体を囲んである。 3 従来はCSVファイルをそのままダブルクリックして開いて、内容をチェックする時、担当者がエクセル上でセル幅や高さをマウスで調節して文章を読んでいた。なお、その際にレイアウト崩れは発生したことがないので、もともとのファイルのCSV形式はちゃんと整って吐き出されているものと思われる。 4 しかし、いちいち手動でそんなことをするのは大変だろうと、私がマクロでCSVファイルを読み取り、自動的にセル内の文章を全部表示できるサイズに各行や列を自動調節できるようにしたいと考えた。 5 具体的には、まずマクロを記録したエクセルファイルを開き、そこから次のシートに当該のCSVファイルを読み取らせればよかろうと考えた。 6 ところが、シートにCSVファイルを読み込ませるために冒頭のような読み込み作業を行ったら、同じエクセルの同じバージョン、同じPCなのにも関わらず、レイアウトに崩れが生じた。 7 具体的にどの部分でレイアウト崩れが起きているのかをテキストエディターで調べると、やはり長文内の改行部分で次のセルに移動してしまっている。 8 しかし、改行部はダブルクォーテーション内に収まっており、(そうでなかったらCSVファイルを直接ダブルクリックしてエクセルを開いた際にもレイアウト崩れが生じていたはず)自分でも訳がわからなくなる。 9 つまり、CSVファイルをテキストデータとして読み込んだ際、設定で「カンマでセル移動、ダブルクォーテーションを「文字列の引用符」に指定しているにも関わらず、エクセルがダブルクォーテーションを無視しているとしか考えられない 10 なぜこのような違いが同じエクセルで生じるのかがわからない 11 いろいろ調べると、「ひょっとして改行コードの解釈の問題(例のLF+CRの問題)か?もしくはダブルクォーテーションのコードの解釈の違いがあるのか??」と思い当たる。 …と、以上のような経緯があったわけです。 それにしても不可解な話なので、どなたかエクセルに詳しい方の解説がいただけたらなあ…と思うのですが、いかがでしょうか。 もしくはどこかに、「一発でCSVファイルを正しく読み込んでくれるモジュールがあるよ」的なアドバイスをいただけると非常に助かります。 よろしくお願いいたします。長文失礼いたしました。

  • VBAでCSV内にある改行を取る方法

    あるシステムが吐くcsvファイルの項目の中に改行が入っているものがあります。 例) 01,aaa,bbb(改行)bbb,ccc(改行) 02,ddd,eee,fff(改行) 03,ggg(改行)ggg,hhh,iii(改行) このCSVファイルをエクセルのマクロで読み込んでシートに展開したい のですが、項目中にある改行で別レコードを認識してしまいます。 結果) A B C D ---+---+---+--- 01 aaa bbb  bbb ccc 02 ddd eee fff 03 ggg ggg hhh iii これを以下のようにしたいのですが・・・ A B C D ---+------+------+---- 01 aaa bbbbbb ccc 02 ddd eee fff 03 gggggg hhh iii どうやればよいでしょうか? ご教授お願いいたします。

  • csvデータをレコード毎に改行させたい

    タブ区切りのcsvファイルを書き出したのですが、レコード毎に改行されずに1行の長いデータになってしまいました。 この書き出し方法そのものを変更することはできません。 (iTunes8.1での「プレイリスト書き出し」です) これを27項目ごとに改行させて、Excelなどの表計算ソフトで1行が1レコードとなるようにデータを加工したいのですが、どうすればいいのでしょうか? Macユーザーなので、できればOpenOfficeなどでできる方法で教えていただけると助かります。

  • Excelでcsvファイルをエクスポートしても、""を残しておきたい

    csvファイルをインポートしてExcelで編集し、また、csvファイルとして書き出すと、元のcsvファイルにはあった文字列の引用符「""」が消えてしまいます。 また、csvファイルを「テキストインポートウィザード」や「外部データの取り込み」を使って文字列の引用符を「なし」でインポートするとExcel上では問題ないのですが、csvで書き出すと「""""""」と引用符が2組増えています。 ご存知の方、元のcsvファイルとまったく同じ引用符でエクスポートする方法を教えてくださいm(_)m

専門家に質問してみよう