• ベストアンサー

EXCELのマクロで外部データの取り込み

CSVファイルを「外部データの取り込み」でシートに読み込むマクロを自動記録で作成したのですが取り込むファイル名が毎回違うのでそのマクロを使うことができません。そこでファイルリストのダイアログからパスとファイル名を指定して実行できる様にしたいのです。良い方法が有りましたらご伝授をお願いします。 ちなみにCSVファイルはネットワークドライブ上にあります。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

ANo.1です。 どのようなマクロの自動記録が出来ているのか不明なので憶測です。 Dim F_name As Variant F_name = Application.GetOpenFilename("CSV ファイル (*.csv),*.csv") With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & F_name, Destination:=Range("A1")) '仮に貼り付けるセルをA1としています。    .Name = Replace(Right$(F_name, Len(F_name) - InStrRev(F_name, "\")), ".csv", "") '~以下については条件が不明~

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Sub test() Dim F_name As Variant F_name = Application.GetOpenFilename("CSV ファイル (*.csv),*.csv") MsgBox F_name End Sub みたいなことでしょうか?

kiichi_go
質問者

お礼

どうもありがとうございました。 おかげさまで思い通りのマクロを作ることが出来ました。 また分からないことが有ったらご指導おねがいします。

kiichi_go
質問者

補足

早々のご回答ありがとうございます。 正にそのとおりなのですが変数のF_nameをどの様に使って外部データの取り込みをするのかが分かりません、大変素人っぽい質問で恐縮ですがその辺ことも教えて頂けないでしょうか。

関連するQ&A