ここまで準備したらExcel 2010を起動し、Webクエリを作ります。Webクエリは、Webページ内のテーブルを元データとしたクエリーテーブルで、Webページの最新データに更新することができます。
まず、リボンから[データ]タブをクリックし、[外部データの取り込み]-[Webクエリ]ボタンをクリックすると、[新しいWebクエリ]ウィンドウが開きます。
[アドレス]欄に先ほどコピーしたURLを貼り付け、[移動]ボタンをクリックしてください。先ほどのページが表示され、しばらくすると、ページ内にあるテーブルごとに、左肩に黄色い[→]タグが表示されます。銘柄名と日別推移のテーブルの[→]タグをクリックし、緑色の[V]に変わったことを確認してください。
続いて、[取り込み]ボタンをクリックします。[データのインポート]ダイアログでは、一旦[プロパティ]ボタンをクリックして[外部データ範囲のプロパティ]ダイアログを開き、表1のように設定を変更してください。
表1.[外部データ範囲のプロパティ]ダイアログの設定
№ | 項目 | 変更方法 | 理由 |
---|---|---|---|
1 | 名前 | 「priceTable」と変更 | VBAで扱いやすい名前にするため |
2 | バックグラウンドで更新する | チェックを外す | 更新完了前に後続のマクロが実行されるのを防ぐため |
3 | 列の幅を調整する | チェックを外す | 日付欄が銘柄名の幅に広がるのを防ぐため |
[OK]をクリックし、[データを返す先を選択してください]では、後で銘柄選択用コンボボックスを上に配置できるよう、既存のワークシートのA3セルあたりを選択して[OK]をクリックします。 株価データが取り込まれた範囲がクエリーテーブルとなります。列幅は適当に調整してください。
補足:クエリーテーブルの設定を確認しよう
ここでクエリーテーブルの仕組みを理解するために、[データ]タブ-[接続]-[接続]ボタンをクリックして[ブックの接続]ダイアログを開いてみます。「接続」という名前の接続が作成されていることがわかります。
続いて[プロパティ]ボタンをクリックすると開かれる[接続のプロパティ]の[定義]タブをクリックすると、接続の種類が「Webクエリ」であり、[接続文字列]に、入力済のURLが設定されていることがわかります。
従って、変更した銘柄のデータを読み込むためには、[接続文字列]のsymbol引数の銘柄コードを置き換え、[接続]という名前の接続を更新すればいいことがわかります。