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

解決済みの質問

エクセルマクロ WEBクエリを使用。WEBのURLを一部変数にし順次データを表示させたいのですが、うまくいきません。

WEBクエリでWEB画面上の一部の情報をエクセル上に表示させます。
その際、URLの一部を変更して、順次新しいデータを表示させたいのです。
具体的にはURLに数字があり、その数字を変数にし、エクセル上にある複数の数字を順次読ませて次々表示させるイメージです。

まず「マクロの記録」を使って、WEBクエリを読ませるベースを作りました。
例として、yahooファイナンスを使ったケースを用いますと
----------------------------------------------------
Sub Macro1()
' Macro1 Macro
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://quote.yahoo.co.jp/q?s=6758.t&d=t", Destination:=Range("$A$1"))
.Name = "q?s=6758.t&d=t"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "10"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
----------------------------------------------------
とマクロが書かれました。
この中の6758は証券コードで、別の証券コードにしたときの情報を取得したいため、6758を変数にしました。
----------------------------------------------------
Dim SIC As Integer
SIC = Range("A1").Text 
----------------------------------------------------
(注)Range("A1")に6758という数値が入っています
この2文を上記ベースマクロの冒頭に加え、
ベースマクロ内の"6758"(2箇所)を"SIC"に打ちかえたら、
うまく読んでこないのです。
読ませるにはどうしたらよいでしょう。

素人なため、質問内容がわかりにくかったらご容赦ください。
わかりやすく教えて頂けるとありがたいです。
よろしくお願いします。

投稿日時 - 2008-09-08 11:16:57

QNo.4312584

困ってます

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

Dim SIC As String
SIC = Range("A1").Text 

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;?http://quote.yahoo.co.jp/q?s=" & SIC & ".t&d=t", Destination:=Range("$A$1"))
.Name = "q?s=" & SIC & ".t&d=t"
かな?

投稿日時 - 2008-09-08 11:24:43

お礼

やってみたらできました!
ありがとうございました。大変たすかりました。

投稿日時 - 2008-09-08 13:30:47

ANo.1

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

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

回答(1)

あなたにオススメの質問