• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WEBクエリで読み取ったデータを更新したい)

WEBクエリで読み取ったデータを更新する方法

このQ&Aのポイント
  • WEBクエリで読み取ったデータを更新する方法について教えてください。
  • データを取り込んでから2回目の更新後もデータが残ってしまう場合、どのように対処すればよいでしょうか?
  • データが範囲内で更新されない場合の対処方法を教えてください。

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

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.1

これで、うまく行くと思う Sub Macro111() Dim myQT As QueryTable Rows("10:100").Delete Shift:=xlUp With ActiveSheet Set myQT = .QueryTables.Add _ (Connection:="URL;" & .Range("A1").Text, _ Destination:=.Range("A10")) myQT.WebTables = 13 myQT.Refresh BackgroundQuery:=False End With End Sub

kuwakuwakuwa
質問者

お礼

ありがとうございました。参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • WEBクエリ

    WEBクエリでヤフーから、時系列で株価を取得するマクロを作っています。 シートAの左に、次々と1銘柄1シートで読み込む場合、下のコードをもっと短くする方法はあるのでしょうか?コードは同じで、銘柄の番号のみ違います。よろしくお願いします。 Sheets("A").Select Sheets.Add ActiveSheet.Name = "2002" With ActiveSheet.QueryTables.Add(Connection:="URL;http://table.yahoo.co.jp/t?s=2002.T&g=d", Destination:=Range("A2")) .Refresh BackgroundQuery:=False End With Range("A1").Select ActiveCell.FormulaR1C1 = "2002" Sheets("A").Select Sheets.Add ActiveSheet.Name = "2202" With ActiveSheet.QueryTables.Add(Connection:="URL;http://table.yahoo.co.jp/t?s=2202.T&g=d", Destination:=Range("A2")) .Refresh BackgroundQuery:=False End With Range("A1").Select ActiveCell.FormulaR1C1 = "2202" Sheets("A").Select Sheets.Add ActiveSheet.Name = "3000" With ActiveSheet.QueryTables.Add(Connection:="URL;http://table.yahoo.co.jp/t?s=3000.T&g=d", Destination:=Range("A2")) .Refresh BackgroundQuery:=False End With Range("A1").Select ActiveCell.FormulaR1C1 = "3000" ・ ・ ・ このような感じで銘柄の番号のみが違うコードが続きます。

  • Excel webクエリ データ抽出に時間がかかる

    エクセルのwebクエリを使ってヤフーファイナンスよりデータをダウンロードしたいと考えています。 ネットで調べて以下のようなマクロを組みましたが、実行してから完了するまで1秒ほどかかります。 Sub データ抽出() With Worksheets("test") With .QueryTables.Add(Connection:="URL;http://stocks.finance.yahoo.co.jp/stocks/history/?code=1301.T", Destination:=Range("$A$1")) .WebSelectionType = xlSpecifiedTables .WebTables = "2" .Refresh BackgroundQuery:=False .Parent.Names(.Name).Delete .Delete End With End With End Sub 上のものは【1301】(株)極洋のものですが、これを全銘柄で実行したいのですが、時間がかかりすぎます。 みなさんもそのくらいのスピードで行っているのでしょうか。 改善するところがあれば教えていただきたいです。 OSはwindows7, Excelは2010です。 宜しくお願いします。

  • webデータの取り込み

    winxp he sp3, excel2003 下記a1は、データが取り込めます。a2はデータが取り込めません。web接続中の表示が出ます。 対策を教えてください。よろしくお願いします。 Sub a1() With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://member.rakuten-sec.co.jp/ITS/Companyfile/margin_restriction.html#9000" _ , Destination:=Range("A1")) .WebFormatting = xlWebFormattingNone .Refresh BackgroundQuery:=False End With End Sub Sub a2() With ActiveSheet.QueryTables.Add(Connection:= _ "URL;https://member.rakuten-sec.co.jp/app/com_page_template.do;BV_SessionID=MbGLLn3TQcKDczyjTp3j!-1697526501?type=info&sub_type=" _ , Destination:=Range("A1")) .WebFormatting = xlWebFormattingNone .Refresh BackgroundQuery:=False End With End Sub

  • エクセルVBA WEB取得データの横方向への出力

    仮に、sheet1のA1からA100までに、異なるWEBページのURLを入力しているとします。 そして、それぞれのURLからWebTables = "8"のデータを抽出して、 B1セルから順に出力するVBAを、下記のとおり作成しているとします。 このとき、特定のURLのWebTables = "8"のデータ項目は表形式で出力され、 次のURLのデータについては、列を挿入する形でどんどん表が追加されていきますが、 これを表形式ではなく横方向に1列ずつ表示するにはどうすればよいのでしょうか。 ************************************************ sub macro1()  dim h as range  for each h in range("A1:A100")  With ActiveSheet.QueryTables.Add(Connection:="URL;" & h, Destination:=h.offset(0,1))  .WebSelectionType = xlSpecifiedTables  .WebFormatting = xlWebFormattingNone  .WebTables = "8"  .Refresh BackgroundQuery:=False  End With  next end sub ************************************************

  • ウェブクエリのマクロが不正な時がある

    お世話になります、 エクセルにウェブクエリのマクロを組み込んで動かしたら 実行結果がOKの場合と駄目な場合があります。 ヤフーの株価ランキングから4ページ分をシートに 落とす処理なのですが7~8回に一度くらいページ があるのに株価表示がないような落ち方をします。 IE6で実行しています。 ソースは '1-4Loop処理 For i = 1 To UBound(urls) 'ワークシート追加 Worksheets("Sheet1").Select Worksheets.Add before:=Worksheets(ActiveSheet.Name) '名前を設定 ActiveSheet.Name = "rank" & i 'webクエリ取得対象シートをアクティブ Set ws = Worksheets("rank" & i) ws.Activate 'QueryTableがなければ追加する If ws.QueryTables.Count = 0 Then 'QueryTableの設定 With ws.QueryTables.Add("URL;", ws.Range("A1")) .RefreshStyle = xlOverwriteCells .AdjustColumnWidth = False .WebSelectionType = xlAllTables .WebFormatting = xlWebFormattingNone .WebTables = "17" End With End If With ws.QueryTables(1) .Connection = urls(i) .BackgroundQuery = True .Refresh BackgroundQuery:=False End With Next 宜しくお願いいたします。

  • エクセル VBAでWEBページデータを順番に抽出

    J2セル~J2320セルに、異なるWEBページのURLを入力しています。 それぞれのURLから特定のデータを抽出して、K2~K2320セルに表示するにはどうすればよいのでしょうか。 J2のURLからデータを抽出してK2へ表示するだけの単純なVBAは下記のとおり作成しましたが、残りのJ3~J2320についても同様の処理を繰り返したいと思います。 どうすればよいのでしょうか。ご教示ください。 ----------------------------------------------- Sub クエリ抽出() With ActiveSheet.QueryTables.Add(Connection:="URL;" & [J2], Destination:=Range("K2")) .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = "13" .Refresh BackgroundQuery:=False End With End Sub -----------------------------------------------

  • 連続してWEBクエリを実行

    VBA初心者です。(作業環境Windows7 64bit Excel2010) 現在、WEBクエリを使用し、あるホームページより情報を収集する作業を行っているのですが、 WEBクエリをループさせる技術がない為、作業が難航しております。 具体的に行いたい作業としましては、 A列に商品番号を数種類入れておき、VBAにてURLの後ろにその番号を追加、 つなぎ合わせたURLでホームページにアクセス ⇒ 情報を収集するというものです。 乏しい知識をフル活用し、ループさせずに情報を収集するところまでは作成できたのですが、 どちら様か、ループさせる方法を教えていただける方がおりましたら、ご指導いただけないでしょうか。 ■セルに予め入力する番号例■       A 【1】 131023999 【2】 131022082 【3】 131023869 【4】 131023796 【5】 131044236 ※最終的には、一度に100種類のページにアクセスしたいと考えております。 ■現在作成しているVBAサンプル■ Sub WEBクエリ実行() Dim SIC1 As String Dim SIC2 As String Dim SIC3 As String SIC1 = Range("A1").Text SIC2 = Range("A2").Text SIC3 = Range("A3").Text On Error Resume Next With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.bcn-chubu.jp/search/detailed.php?id=" & SIC1, Destination:=Range("C1")) .FieldNames = True .FillAdjacentFormulas = False .PreserveFormatting = True .BackgroundQuery = True .SaveData = True .AdjustColumnWidth = True .WebTables = "1" .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .Refresh BackgroundQuery:=False End With With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.bcn-chubu.jp/search/detailed.php?id=" & SIC2, Destination:=Range("C31")) .FieldNames = True .FillAdjacentFormulas = False .PreserveFormatting = True .BackgroundQuery = True .SaveData = True .AdjustColumnWidth = True .WebTables = "1" .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .Refresh BackgroundQuery:=False End With With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.bcn-chubu.jp/search/detailed.php?id=" & SIC3, Destination:=Range("C61")) .FieldNames = True .FillAdjacentFormulas = False .PreserveFormatting = True .BackgroundQuery = True .SaveData = True .AdjustColumnWidth = True .WebTables = "1" .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .Refresh BackgroundQuery:=False End With End Sub ちなみに、WEBクエリで収集した情報は、それぞれ指定のセルにアウトプットさせております。 ※30行刻みで情報が書き出されるようになっております。 VBA初心者のため、現在作成しているプログラムが「正しいのか」さえ、判断できていない状況ですが、ご指導いただける方がおりましたら、何卒よろしくお願いいたします。

  • VBAでのクエリ抽出でURL指定の中で変数使用

    VBAでのクエリ抽出文(下記)で、URL指定文の中で変数を使用したいのですが""で囲まれているため使用できません。なにかよい方法はないでしょうか。 With ActiveSheet.QueryTables.Add(Connection:= _ "url;http://www.○○○.com/○○「変数」", _ Destination:=Range("A101")) .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = "1,2,3" .Refresh BackgroundQuery:=False End With 「変数」の部分で変数を使いたいのですが。

  • Webクエリで困っています

    以下のマクロを作りました。Webクエリで、セルA1に入力してあるURLを読み込んで表を取り込み、必要なところを選択してコピーするようにしたいのです。しかし、実行すると上から3行目まで黄色になってエラーになります。特に3行目には矢印が表示されています。いろいろ調べましたが結局分かりませんでした。宜しくお願いします。 ------------------------------------------------------ Sub クエリで取得() ' ' クエリで取得 Macro ' マクロ記録日 : 2009/7/30 ユーザー名 : charlie ' ' With ActiveSheet.QueryTables.Add(Connection:= _ Range("A1").Value _ , Destination:=Range("A2")) .Name = "resultlist?tbws=x0p01a&hd=20090716&jcd=01_2" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = False .RefreshOnFileOpen = False .BackgroundQuery = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = True .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With Range("A19:Q54").Select Selection.Copy End Sub ----------------------------------------------------------

  • マクロのなかの一部(日付)を書き換えたい

    マクロのなかの一部(日付)を書き換えたくてその部分を変数で 変更したいのですがうまく行きません少し長くなりますが下記の どの部分を直したら良いのでしょうか御教願えませんでしょうか セル Range("K1") に 20081007 の日付が入っています Sub Tuika1() Dim xxx As String xxx = Range("K1") Range("A6").Select With Selection.QueryTable .Connection = "URL;http://www.?????.com/data/daily.cgi/& xxx &.html" .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = "5,6,7,10,11,12,13,14,15,16,17,18,19,20" .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub

このQ&Aのポイント
  • 付き合ってもうすぐ3ヶ月になる彼女からの別れの告白。彼女の気持ちの変化やフィーリングの不一致について悩んでいる。彼女とのコミュニケーションにおいて、自分からの連絡を減らすことや興味を示さない態度をとることで彼女からの関心を引くことができるかどうかも悩んでいる。冷却期間中に取るべき行動や彼女の心を取り戻す方法についてアドバイスを求めている。
  • 急遽の恋愛相談。付き合ってもうすぐ3ヶ月になる彼女からの別れの告白に困惑している。彼女のフィーリングの不一致や価値観の違いが原因かもしれないと感じている。自分からの連絡を減らすことで彼女の関心を引こうとしているが、効果があるのか不安。冷却期間中に彼女の心を取り戻す方法を知りたい。
  • 恋愛相談:彼女との関係が冷めてきている。付き合ってもうすぐ3ヶ月になる彼女からの別れの告白に戸惑っている。彼女のフィーリングの不一致や価値観の違いが関係が悪化した原因かもしれない。彼女とのコミュニケーションに改善の余地はあるのか、冷却期間中にはどんな行動を取ればいいのか悩んでいる。
回答を見る

専門家に質問してみよう