みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBA:テキストファイルのパスを、変数に置き換え

エクセルに、CSVファイルを取り込むため、マクロ記録をしました。↓

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\hatena\Desktop\新しいフォルダ\ID\21008689.CSV", Destination:=Range("$A$1"))
.Name = "21008689_4"
.FieldNames = True
.RowNumbers = False
以下省略

End With

そこで、コード2行目の「"TEXT;C:\Users\hatena\Desktop\新しいフォルダ\ID\21008689.CSV",」
の部分を、変数に記録されたパスに置き換えたいのですが、どうすればよいでしょうか?

変数に「C:\Users\hatena\Desktop\新しいフォルダ\ID\21008689.CSV」を代入して
「TEXT;」の後に変数名を記述しても、色々試しましたがどうもうまくいきません。

そもそも、このようなことはできないのでしょうか?

有識者の方々、どうぞよろしくご教授お願いいたします。

投稿日時 - 2011-04-21 22:10:57

QNo.6684653

すぐに回答ほしいです

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

変数に「C:\Users\hatena\Desktop\新しいフォルダ\ID\21008689.CSV」を代入して
「TEXT;」の後に変数名を記述しても

どのような記述をされましたか?
一般的に文字列の連結・結合は
A=B&C  とか A=”TEXT”&B
で記述します。
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & file_path, Destination:=Range("$A$1"))
.Name = "21008689_4"
.FieldNames = True
.RowNumbers = False

file_pathが変数名です。
これでいかがですか?

投稿日時 - 2011-04-21 22:38:13

お礼

できました!!!色々試しましたが→"TEXT; の後に"がないのが原因でしたorz
5時間考えた挙句、質問しまいたが、うまくいきました。全くふがいないです。
どうもありがとうございました!!!

投稿日時 - 2011-04-21 22:50:50

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問