• ベストアンサー

Excel Webスクレイピング情報をグラフ化

DesktopのExcel2019を使用しています。 特定のWebからExcelに3分おきにデータを取り込んでいます。 これは正常に動作します。 その取り込んだテーブルデータの一部を別シートのセル(Sheet1A1とします)から参照しています。そのSheet1A1の値が自動スクレイピングの結果変更になったとき、特定のマクロを実行することを試していますが現在まで実行されていません。 VBAはイベント系列のWorksheet_Change(ByVal Target As Range)を使用しています。VBAコードの置き場所はSheet1のあるシートのWorksheetのコード用域です。 Sheet1の任意のセルの値をマウスカーソル変更するとマクロは実行されます。 Worksheet_Changeは、自動webスクレイピングで更新したデータを検知できないのでしょうか?

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1742/2617)
回答No.2

回答No.1の補足です。 現状のまま 自動webスクレイピングのコードの適切な場所に Sheets("Sheet1").Range("A1").Formula = Sheets("Sheet1").Range("A1").Formula としてA1の式を更新するという手もあると思います。

minis8566
質問者

お礼

ありがとうございます。いただいたヒントのおかげで検出部分と実処理を分けて別のマクロにして記述する方法を思いつきました。

Powered by GRATICA

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1742/2617)
回答No.1

> その取り込んだテーブルデータの一部を別シートのセル(Sheet1A1とします)から参照しています 数式で参照している先のデータが変更されても数式のあるシートのWorksheet_Changeは実行されませんので実際のデータが入力されるシートでWorksheet_Changeを実行してください。

minis8566
質問者

お礼

ヒントありがとうございました。おかげさまで希望する形にできました。

関連するQ&A