導入:なぜWebクエリが重要なのか
業務で「Webサイトにある株価情報、為替レート、あるいは統計データなどをExcelに転記する」という作業、手動で行っていませんか?Webサイトからコピー&ペーストを行うのは手間がかかるだけでなく、転記ミスも発生しがちです。
Excelの「Webクエリ機能」を使えば、Web上の表データを直接Excelに取り込み、さらには「ワンクリックで最新データに更新」することが可能です。日々のルーチンワークを劇的に効率化できる、実務担当者なら必ず押さえておきたい機能です。
基礎知識:Webクエリの仕組み
Webクエリとは、指定したURLのWebページからHTML上のテーブル(表)要素を抽出し、Excelのシート上にデータベースとして読み込む機能です。一度設定しておけば、Excel側がWebサイトへ再アクセスし、データを最新の状態に書き換えてくれます。
実装:Webクエリの設定手順
ExcelのバージョンによってUIは多少異なりますが、基本操作は以下の通りです。
1. [データ]タブを選択し、[Webから](または[Webクエリ])ボタンをクリックします。
2. 表示されたダイアログのアドレスバーに、取り込みたいページのURLを入力し、[移動]ボタンを押します。
3. ページが読み込まれると、各テーブルの左側に黄色の矢印アイコンが表示されます。
4. 取り込みたい表のアイコンをクリックし、チェックマークが付いたことを確認したら[取り込み]ボタンを押します。
5. データの出力先を指定すれば完了です。
サンプルプログラム:VBAでデータ更新を自動化する
実務では、ボタン一つで最新情報に更新したいケースが多いでしょう。以下のコードは、Webクエリで作成した外部データ範囲をVBAで一括更新するためのプログラムです。
Sub RefreshWebData()
‘ ワークブック内のすべての外部データ接続を更新する
‘ これにより、手動でボタンを押さなくても最新データが取得できる
On Error Resume Next
Dim conn As WorkbookConnection
For Each conn In ThisWorkbook.Connections
‘ 接続の種類がWebクエリやデータベースの場合に更新を実行
conn.Refresh
Next conn
MsgBox “最新データへの更新が完了しました!”, vbInformation
End Sub
※このコードを標準モジュールに貼り付け、ボタンに登録して使用してください。
応用・注意点:現場での活用とトラブル回避
1. 自動更新のスケジュール化
[外部データ範囲のプロパティ]から「ファイルを開くときにデータを更新する」にチェックを入れておくと、ファイルを開くだけで最新状態に保てるため、報告書作成の際に非常に便利です。
2. サイト構造の変化に注意
WebクエリはWebサイトのHTML構造に依存します。サイトのレイアウトが大幅に変更されると、正しく取り込めなくなることがあります。その場合は、再度Webクエリの設定(URLの再指定)を行ってください。
3. ログインが必要なサイトは不可
この機能は公開されているWebページが対象です。IDやパスワードを入力してログインする必要があるページには対応していませんので、その点は注意が必要です。
まずは一度、よく見る統計データなどを取り込んで、その手軽さを実感してみてください。日々の作業時間が確実に短縮されるはずですよ。
