質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

3276閲覧

VBA CSV データの取り込み(QueryTables.Add)

9999moda

総合スコア8

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/05/08 23:03

編集2020/05/08 23:05

標記の件、以下を参考に検討しています。
VBA CSV ファイルの読み込み (QueryTables.Add 関数を使う)

Excelに指定のCSVファイルを読み込み、所定フォーマットに整理するマクロを作成していますが、読み込み段階で失敗しています。
末尾コードで、このCSVファイル(dropbox link)を読み込もうとしていますが、Excelには途中までしか読み込まれません。
一方 vbaを使わず、Excelの[データ] タブから、[データの取得 & 変換] 、[ Text/CSV] をクリックして読み込むと、最後まで読み込みできます。
csvファイルではなく、コードに問題があると思いますが、特定できておりません。アドバイス頂きたく、よろしくお願いいたします。

Sub import_CSV_QueryTables_Add() Dim ws As Worksheet Set ws = ActiveSheet ' CSV のデータを取り込むシート Dim ip As String ip = "C:\パス省略\https___www.sej.co.jp_i_item_0.csv" 'Input file's Path、取り込むファイルのパス Dim qt As QueryTable Set qt = ws.QueryTables.Add("text;" & ip, ActiveSheet.Range("A1")) ' CSV を開く With qt .TextFilePlatform = 65001 ' 文字コードを指定 .TextFileParseType = xlDelimited ' 区切り文字の形式 .TextFileCommaDelimiter = True ' カンマ区切り .RefreshStyle = xlInsertEntireRows ' 表示されるセルにデータがあるときは、上書きされないように必要な分の列を挿入します .Refresh ' データを表示 .Delete ' CSV との接続を解除 End With End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

9999moda

2020/05/08 23:17

追記します。 ・途中まで:「三陸産早採りわかめの冷たいおそば」の行まで読み込れる。 ・最後まで:「北海道産小豆使用 冷やし白玉ぜんざい」の行まで読み込れる。
guest

回答1

0

ベストアンサー

CSVのデータを見てみました。

「三陸産早採りわかめの冷たいおそば」の行に、セル内改行が含まれているようです。
具体的には、【「カラダへの想いこの手から」対象商品】の直前です。

セル内改行とは、、、
aaaa, "bbxbb", cccc
上記の「x」の位置に改行記号がきているパターンです。
これを何とかする必要があると思います。

今回のデータでは、改行が含まれるセルは「"」で囲まれてるようです。

見たところ、セル内改行はこの一か所だけのようですので、
手動で改行記号と「"」記号を削除するか「改行記号+【「カラダへの想いこの手から」対象商品】」
の部分を削除すれば、読み取れるのではないでしょうか?

投稿2020/05/09 00:04

autumn_nsn

総合スコア335

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

9999moda

2020/05/09 00:59

回答ありがとうございます。たしかに今回のCSVファイルの中では、「三陸産早採りわかめの冷たいおそば」だけが【「カラダへの想いこの手から」対象商品】であり、セル内改行が含まれていますね。気付いておりませんでした、、 Excelの読み込み機能では処理できるので、先に記載のコードに手を加えて、VBAで処理できないか検討してみます。
9999moda

2020/05/09 01:31 編集

セル内改行への対応については次リンク先が参考になると考えました。元の質問については問題特定できましたので、解決済にします。 VBA - Excel QueryTable上のデータの特定文字列をVBAで置換してから出力したい|teratail https://teratail.com/questions/171311
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問