- 締切済み
VBAでCSVをExcelに取り込む時に、途中の改行を取り除くには
VBAでCSVをExcelに取り込む時に、途中の改行を取り除くには はじめて質問させていただきます。 内容はhttp://okwave.jp/qa/q2793590.html のものに似ていまして、あるシステムが吐き出すCSVを、Excelで作ったリストの雛形にVBAで取り込むのですが、CSVの途中で改行されていたりするために上手くいきません。 元のCSV例 111,AAA,aaa,BBBB,bbbb 222,CCC,ccc,DDDD,dddd 333,EEE,eee ,FFFF,ffff 444,GGG,ggg,HHHH,hhhh ↓ 取り込んだリスト例 A | B | C | D | E ──┼──┼──┼──┼── 111 |AAA |aaa |BBBB|bbbb ──┼──┼──┼──┼── 222 |CCC |ccc |DDDD|dddd ──┼──┼──┼──┼── 333 |EEE |eee | | ──┼──┼──┼──┼── |FFFF|ffff | | ──┼──┼──┼──┼── 444 |GGG |ggg |HHHH|hhhh 当然の結果なのですが、これを例えばeeeの後ろの改行だけを削除して、333~ffffまで一レコードとして読み込ませたいのです。が、 最後の改行と途中の改行の区別をどうつけさせればいいのか、どの様にしたらいいのか見当がつきません。 とりえあず、 ・先頭(A列)には必ず数字が入る ・カンマの数(レコード数?)は固定 ・CSV中の余分な改行が入る時と入らない時がある このあたりが判定の手がかりになると思いますが、厚かましいお願いで恐縮ですが、ヒントになる様なコードをご教授いただけますでしょうか。 何分初心者なもので、情報不足な点ありましたらご指摘下さい。 よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- 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 どうやればよいでしょうか? ご教授お願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセル マクロVBAの VLOOKUPと条件分岐について
エクセルのマクロVBAで質問です。 1つのシートに下記のような(1)(2)のデータと 同ブック内・別シートに(3)(4)のデータがあり (1)のデータ内を検索して、 別シート内の置換リスト(3)に値が存在すれば、 (4)の値を(2)に記載し、なければ、(1)の値をそのまま(2)に記載 するという内容にしたいのですが、どうもうまくいきません。 (1) (2) AAAA ■■■←AAA BBBB ■■■←JJJ CCCC ■■■←CCC DDDD ■■■←GGG EEEE ■■■←UUU FFFF ■■■←FFF 置換リスト(同ブック内・別シート) (3) (4) BBBB JJJ DDDD GGG EEEE UUU いい方法はないでしょうか。
- ベストアンサー
- その他([技術者向] コンピューター)
- CSVデータをツリー表示させたい
業務で、WEBサイトにCSVデータを表示させたいと考えています。 CSVデータは、毎日更新されるもので、行数も日々変更されます。 項目の中に「レベル」という項目があり、この「レベル」の値を使って、 ツリー表示出来ないかと考えています。 希望としては、決められたフォルダに決められたファイル名で、 CSVデータを置けば、自動的にWEB上にツリー表示されるという ことです。 J-query等で、これを実現出来るプラグインが無いか探しているのですが、 なかなか希望に合うものが見つからず、困っています。 (CSVをWEB表示するものは見つかるのですが、ツリー表示出来る ものが見つかりません) 何か、良い方法があれば、ご教示頂けませんでしょうか? 例 コード レベル 品名 規格 ・・・・ コード レベル 品名 規格 ・・・・ 1234 1 AAA aaa -1234 1 AAA aaa 2345 2 BBB bbb ∟2345 2 BBB bbb 3456 3 CCC ccc ∟3456 3 CCC ccc 4567 3 DDD ddd ∟4567 3 DDD ddd 5678 3 EEE eee ∟5678 3 EEE eee 6789 4 FFF fff ∟6789 4 FFF fff 7890 3 GGG ggg ∟7890 3 GGG ggg
- ベストアンサー
- JavaScript
- EXCEL VBA split関数について
Excel VBA初心者です。 split関数についてどなたか教えていただけないでしょうか。 aaa,bbb,ccc,eee fff,ggg,hhh,iii jjj,kkk,lll,mmm というデータがあるとして、そこから aaa bbb fff ggg jjj kkk これだけ(左から2個分)を抜き取りたいのですが可能でしょうか? カテ違いな質問でしたらスミマセン。
- ベストアンサー
- オフィス系ソフト
- 改行のあるCSVファイルをExcelに読み込みたい
CSVファイルをExcelにインポートしたいのですが CSVファイルのデータ内に改行が入っていたので、レイアウトが崩れて、 うまくExcelにインポートできない状態です。 改行を置き換えで取り除くと、すべて横並びになってしまいます。 1レコードは59項目と決まっているのですが、手作業で改行を入れるのは 数が多く難しそうです。 なんとかうまく取り込む方法はないでしょうか? プログラミングは全くわかっていない初心者ですが、 エクセルのVBAにコピペして実行することは可能です。。。 カテ違いだったらすみません><
- ベストアンサー
- Excel(エクセル)
- Excelで改行が含まれたフィールドをcsvに変換する際改行を取る方法を教えてください
ExcelをCSVファイルにする必要があり、レコードの形式を "aaa","bbb","ccc"改行コード にしたいいと考えております。(それぞれのフィールドに改行コードは不可) Excelファイル時に、改行を置換(Ctrl+JをNULLで置換)しCSVで保存しエディタで見ると改行が残っています。(CR-LFがCRに置換されているため) 使用しているエディタはEmエディタです。 Accessでインポートしたのちtxtでエクスポートしても結果は一緒でした。 フィールド内の改行だけを取る方法はありますでしょうか。
- 締切済み
- その他MS Office製品
- VBAでCSVファイルを分割したい
VBAを利用して、あるCSVファイルを一定のレコード数ごとに新しいファイルにファイル分割したいです。 やりたいことは、以下のようなイメージです。 関連サイトなどを参考に自分なりに取り組んでみましたが、なかなかうまくいきません。 VBAでなくても実現できそうですが、ここまでやったので勉強のためにもVBAでやりたいです。 サンプルコードなど教えていただけるとうれしいです。 ヒントでも結構ですので、よろしくおねがいします。 (2レコードずつ分割する例) sample.csv ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4 aaa@aa.aa,123,あいうえ,111-111 bbb@bb.bb,456,かきくけ,222-222 ccc@cc.cc,789,さしすせ,333-333 ddd@dd.dd,012,たちつて,444-444 eee@ee.ee,345,なにぬね,555-555 fff@ff.ff,678,たちつて,666-666 ↓↓↓ ☆sample_1.csv ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4 →各ファイルにヘッダも入れたいです。 aaa@aa.aa,123,あいうえ,111-111 bbb@bb.bb,456,かきくけ,222-222 ☆sample_2.csv ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4 ccc@cc.cc,789,さしすせ,333-333 ddd@dd.dd,012,たちつて,444-444 ☆sample_3.csv ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4 eee@ee.ee,345,なにぬね,555-555 fff@ff.ff,678,たちつて,666-666
- ベストアンサー
- Visual Basic
- Excel VBA サブディレクトリの取得について
Excel VBA についての質問です。 私は、VBAの初心者です。 フォルダ選択ダイアログを開き、あるフォルダを選択させます。 選択したフォルダ配下のファイルとサブフォルダにあるファイル一覧とそのファイルのパス取得したいです。 【例】D:\TEMP\AAA フォルダを選択 D:\TEMP\AAA D:\TEMP\AAA\BBB\CCC.txt D:\TEMP\AAA\BBB\DDD\EEE.txt D:\TEMP\AAA\BBB\DDD\FFF.txt GGG.txt が存在する。 まず、フォルダAAAまで選択されたら、 以下の結果がエクセルに出力したいです。 BBB CCC.txt BBB\DDD EEE.txt BBB\DDD FFF.txt GGG.txt うまく伝えないかもしれないですが、ご教授お願いいたします。
- ベストアンサー
- Visual Basic
- CREATE VIEWについて
2つのテーブル(basecodeとaddcode)からVIEWを作りたいのですが、 そのVIEWについてご教授いただきたく。 <TABLE名:basecode> ---------------------- no name area code ---------------------- 1 aaaa 2 102 2 bbbb 4 103 3 cccc 4 203 4 gggg 3 303 5 eeee 3 101 6 ffff 5 104 7 hhhh 1 115 ---------------------- <TABLE名:addcode> ----------------------------------------- base anum bnum cnum dnum dmy no ----------------------------------------- bbbb 1 1 1 1 aaa 2 cccc 12 13 10 2 aaa 3 cccc 12 13 10 0 aaa 3 cccc 12 13 10 5 aaa 3 dddd 12 15 3 1 aaa 3 dddd 12 15 3 3 aaa 3 dddd 12 15 3 4 aaa 3 eeee 10 3 12 1 aaa 5 eeee 10 3 12 2 aaa 5 eeee 10 3 12 3 aaa 5 eeee 10 3 12 4 aaa 5 eeee 13 12 15 3 aaa 5 eeee 13 12 15 0 aaa 5 eeee 13 12 15 1 aaa 5 eeee 13 12 15 2 aaa 5 hhhh 4 3 11 0 aaa 7 hhhh 4 3 11 2 aaa 7 hhhh 4 3 13 2 aaa 7 kkkk 0 0 0 0 aaa 9 ----------------------------------------- VIEWの抽出は以下の通り。 basecodeのno basecodeのname basecodeのcode addcodeのbase addcodeのanum addcodeのbnum addcodeのcnum addcodeのdnum VIEWの作成条件としては以下の通り。 <条件> TABLE名:basecodeとaddcodeのnoが存在し、かつ、 baseaddのnoが複数あり、baseが同じものは以下で判断 ・anumとbnumとcnumが同一であればその中のdnumが最小であるレコードを抽出 ・anumとbnumとcnumが異なれば別々に抽出 上記より、以下のように抽出したい。 <TABLE名:basecodeview> ----------------------------------------------- no name code base anum bnum cnum dnum ----------------------------------------------- 2 bbbb 103 bbbb 1 1 1 1 3 cccc 203 cccc 12 13 10 0 3 cccc 203 dddd 12 15 3 1 5 eeee 101 eeee 10 3 12 1 5 eeee 101 eeee 13 12 15 0 7 hhhh 115 hhhh 4 3 11 0 7 hhhh 115 hhhh 4 3 13 2 ----------------------------------------------- よろしくお願いします。
- ベストアンサー
- PostgreSQL