プロが教える店舗&オフィスのセキュリティ対策術

エクセルのマクロからクエリを使ってホームページにあるデータを自動的に取得する方法を考えています。
ただ、アドレスが規則的ではないためその部分が自動化できませんでした。
そこで、セルにコピー&ペーストで貼り付けてそのアドレスをVBAに読み込ませて作動させたいと考えています。
しかし、VBAの中にセルの文字を組み込む方法がわかりません。
教えていただけますでしょうか?

A 回答 (3件)

≪変数を使用≫


Sub データ取得()
  Dim myurl As String

  myurl = Range("A1").Value
  With ActiveSheet.QueryTables.Add _
    (Connection:=myurl, Destination:=Range("A2"))
    .WebTables = "17"
    .Refresh BackgroundQuery:=False
  End With
End Sub
    • good
    • 0

引数 Connection にURLを渡せば良いのですから


セルA1にURLが入力されているなら

Sub データ取得()
'
  With ActiveSheet.QueryTables.Add _
    (Connection:=Range("A1").Value, Destination:=Range("A2"))
    .WebTables = "17"
    .Refresh BackgroundQuery:=False
  End With
End Sub

とすれば良いです。
    • good
    • 0
この回答へのお礼

どうもありがとうございました!

お礼日時:2008/10/05 23:29

URLのところに直接


Range("A1").Value
とする。
あるいは、変数を用意して
Dim myurl As String
myurl = Range("A1").Value
のような感じにすれば良いと思います。

テスト中のコードを提示された方がアドバイスし易いです。

この回答への補足

すばやいご回答ありがとうございます。
コードはこんな感じです。

Sub データ取得()
'
  With ActiveSheet.QueryTables.Add(Connection:= _
"URL;ここにURLを入れる", Destination:= _
Range("A2"))
.WebTables = "17"
.Refresh BackgroundQuery:=False
End With
End Sub


URLのところに直接
Range("A1").Valueを入れる場合と変数を入れる場合、コードはどのような形になるでしょうか?
初心者なのでどこに入れたらうまくいくのかがわかりませんでした・・・
よろしくお願いいたします。

補足日時:2008/10/05 20:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!