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

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

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

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

VBA

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

Q&A

解決済

3回答

1840閲覧

VBA CSVデータの取り込み

t.k.o

総合スコア13

CSV

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

VBA

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

0グッド

2クリップ

投稿2019/04/15 05:59

ご覧下さり有難う御座います。

現在、Excelのvbaにて指定のCSVファイルの内容を読み込み、それをExcel側で作成したフォーマットの指定のセルに表示するマクロを作成しております。

今のところQueryTable.Addを使用した下記のようなものを作成しておりますが、指定のセルに表示するどころか内容を取り込む事すら出来ておりません。

こういった場合、どの様なマクロを作成するのがよろしいでしょうか?

私は現在こういった分野において初心者であり、右も左も分からない状況ですので、何かアドバイス頂けると幸いです。

何卒宜しくお願い致します。

Dim ws As Worksheet
Set ws = Activesheet

Dim qt As QueryTable
Set qt = ws.QueryTables.Add(Connection:=“TEXT;対象のCSVファイルのアドレス”,Destnation:=ws.Range(“A1”))

With qt
.TextFilePlatform = 932
.TextFileParseType = clDelimited
.TextFileCommaDelimiter = True
.RefreshStyle = xlOverwriteCells
.Refresh
.Delete

End With

End Sub

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

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

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

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

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

guest

回答3

0

以下を参考にされたのでしょうか?
VBA CSV ファイルの読み込み (QueryTables.Add 関数を使う)

clDelimited xlDelimitedのタイプミスですか?
タイプミスが無いなら、CSVの形式ですね。
CSVの形式に合っていないのではないでしょうか。

投稿2019/04/15 06:39

sazi

総合スコア25184

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

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

t.k.o

2019/04/15 07:00

ご回答いただき有難うございます。 おっしゃる通り、そちらのサイトを参考にし、ほとんど丸写しで作成しました。 clDelimitedについてはタイプミスです。 分かりづらくて申し訳ありません
sazi

2019/04/15 07:05

CSVの形式(項目区切り文字、文字区切り文字)を質問に追記して下さい。 一般的な((項目区切り文字=`,`(カンマ)、文字区切り文字=`"`(ダブルクオート))であれば質問のコードで問題ない気がします。
guest

0

ベストアンサー

Destnation:=ws.Range(“A1”))
についても、
Destination:=ws.Range(“A1”))
で、
「Destination」の最初の「i」が抜けている、ということはないでしょうか?

当方で、他の回答者様のご提示されたWebページのコードをExcelにコピペし、カンマ区切りのcsvを作って試してみましたところ、一応正常にcsvの内容をシートに取り込めました。

投稿2019/04/16 05:49

komugi3333

総合スコア94

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

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

0

QueryTableは使ったことがないのでアドバイスできませんが、私がやるとしたら次のどちらかになるかと思います。

1.自力で1行ずつ読み込む

ファイルを自力でオープン。
1行ずつ読み込み、読み込んだ文字列をカンマで分解、それをシートに貼り付ける。
これをEOFまで繰り返す。

2.CSVファイルをブックとして扱う

ブックとして開く。
開いたブック内のシートをコピペする。

投稿2019/04/15 06:13

ttyp03

総合スコア16998

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

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

t.k.o

2019/04/15 07:01

ご回答頂き有難うございます。 調べたところファイルのを自力で一行ずつ読み込む方法が良さそうでしたので、そちらを試してみようと思います。
ttyp03

2019/04/15 07:09

書き忘れましたが、1の方法の場合、値に改行した文字列があったり、ダブルクォーテーションで括ってあったりすると、少々面倒なことになりますのでご注意ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問