人気マンガがだれでも無料♪電子コミック読み放題!!

時系列をexcelにロードする際、http://table.yahoo.co.jp/t?c=2007&a=6&b=20&f=200 …
のページの 月日から月日までの部分と銘柄コード=excelシート入力済。⇒VBA⇒ロードするための作業を、下記の方法で、とりあえず、終了日のところから改式をやってみたのですが、うまくゆきません。 "選択終了日"に変更する前の、数字の状態ではロードできるので、テーブル番号等は、問題ないようです。

原因の解る方、よろしくお願いします。

-----------------------------
Sub test()

Range("a1:h300") = ""

Dim shuuryoubi As String '選択終了日

Range("b1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://table.yahoo.co.jp/t?c=2007&a=6&b=20&f=200 …選択終了日&g=d&s=1321.o&y=0&z=1321.o" _
, Destination:=Range("b1"))
.Name = _
"t?c=2007&a=6&b=20&f=2007&d=9&e=選択終了日&g=d&s=1321.o&y=0&z=1321.o"

.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 = "23"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False

shuuryoubi = 17

End With


End Sub

このQ&Aに関連する最新のQ&A

A 回答 (2件)

URLの部分を


t?c=2007&a=6&b=20&f=2007&d=9&e=" & shuuryoubi & "&g=d&s=1321.o&y=0&z=1321.o"
といった具合に編集します
# 行が分割されていますが1行で書くか _ を使って分割してください

最後のほうで代入している shuuryoubi = 17 は
QueryTables.Add より前で実行しましょう
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました^^。
全ての入力が可能になり、とても助かりました。

ちなみに、下記様になりました
(同様の件で探されている方参考になさってください)。
Sub test77()
Range("a1:h300") = ""
Dim kaisituki As Integer '選択開始月
Dim kaisibi As Integer '選択開始日
Dim shuuryoutuki As Integer '選択終了月
Dim shuuryoubi As Integer '選択終了日
Dim sijyou As Integer '選択市場
Dim sijyoukigou As String '選択市場記号

Range("b1").Select

kaisituki = 7
kaisibi = 21
shuuryoutuki = 8
shuuryoubi = 20
sijyou = 6363
sijyoukigou = t

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://table.yahoo.co.jp/t?c=2007&a=" & kaisituki & "&b=" & kaisibi & "&f=2007&d=" & shuuryoutuki & "&e=" & shuuryoubi & "&g=d&s=" & sijyou & "." & sijyoukigou & "&y=0&z=" & sijyou & "." & sijyoukigou & "" _
, Destination:=Range("b1"))
.Name = _
"t?c=2007&a=" & kaisituki & "&b=" & kaisibi & "&f=2007&d=" & shuuryoutuki & "&e=" & shuuryoubi & "&g=d&s=" & sijyou & "." & sijyoukigou & "&y=0&z=" & sijyou & "." & sijyoukigou & """"
.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 = "23"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub

お礼日時:2007/09/24 12:07

私が間違ったかもしれませんが、#1のご回答を取り入れ、質問のコードをやってみましたが、シートにデータが出ませんでした。


別途
Sub test02()
Range("a1:h300") = ""
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://table.yahoo.co.jp/t?c=2007&a=8&b=20&f=200 … _
Destination:=Range("a1"))

.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SaveData = True
.AdjustColumnWidth = True
End With
End Sub
でやると、シートにデータが取れました。
銘柄をトヨタ自動車に、また期間を変えました。
東証、大証のT,Oはどちらでも出ました。
質問のコードを#1で修正して、質問者さんの側で、データがシートに出れば、私の間違いです。本件無視してください。
もし質問者さんの側でやって、出ないなら、
(私は.QueryTables.Addの引数について詳しくないので)、質問者さんの側で、私の乗せた上記コードを参考に、引数を中心に原因を当たってください。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング