- ベストアンサー
エクセル上で毎日更新される株価を更新したい
ヤフーファイナンス等を利用してエクセル上に毎日株価(4本値)と出来高を毎日更新したいのですが可能でしょうか? 過去のデータは入力済みです。銘柄は現在23です。 毎日手動で更新するのが面倒なので、当日の夜にその日のデータを更新したいと思っています。 A列に日付、B~Eに4本値、Fに出来高、G以降はFまでのデータをもとにした何らかの数値を入れる予定です。 縦方向に日付順でデータをためていく形式にして、銘柄ごとに同ブック内でシートを分けたいと考えています。 もし、このあたりもアドバイスがあればズバッとおっしゃってくださいm(_ _)m VBAも勉強したいので、詳しい方よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
エクセルのWEBクエリに関しては詳細な説明のサイトはあまり無いのですが、 http://www.atmarkit.co.jp/fwin2k/win2ktips/320webquery/webquery.html http://www.fujicom.co.jp/salon/it_info/07webquery/webquery.html このあたりを参考にして マクロの記録でマクロを作って修正すれば使えるようになると思います。 参考までに Sub Macro1() コード = Range("A1") 年 = Range("C1") 月 = Range("D1") 日 = Range("E1") With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://table.yahoo.co.jp/t?c=" & 年 & "&a=" & 月 & "&b=" & 日 & "&f=" & 年 & "&d=" & 月 & "&e=" & 日 & "&g=d&s=" & コード & ".t" _ , Destination:=Range("A2")) .PreserveFormatting = True .WebTables = "15" .Refresh BackgroundQuery:=False End With End Sub A1セルにYahooで検索するときの社名コード、B1セルに取得したい日付 C1 =YEAR(B1) D1 =MONTH(B1) E1 =DAY(B1) と入力しマクロ実行すると目的の日のデータを読み込みます。
その他の回答 (2)
- 374649
- ベストアンサー率38% (203/527)
株価を自動で更新するならヤフーファイナンスも良いでしょうがRSS関数を使った方がいろいろ出来ますよ。 口座を持っていればほとんど無料で利用できますし、Excelに関数を埋め込んでリアルタイムで見ることも保存も出来ます。 日足なら引け後1行挿入、当日データをコピー(値)、関数を再セットアップというVBAを書けば簡単に出来ます。 但しこの世界、誰も教えてくれる人はいないので自分でVBAを勉強することです。 いろいろなホームページ、ブログもありますから自分で探してください。
お礼
RSS関数ですか。全く知らない言葉でした・・・。検索をかけてみたらいろいろでてきました!楽天のものがよく利用されているみたいですね。 いますぐには作れる技量はありませんが、これを機会にすこしずつ勉強したいと思います。会社の同期にVBAに詳しいものがいますので相談してみます。ありがとうございました。
- web2525
- ベストアンサー率42% (1219/2850)
http://table.yahoo.co.jp/t?s=4689.T&g=d 株の事はあまり良く解っていないのですが上記ページのような事でしょうか? Yahooファイナンスであれば、Webクエリーで取り込みは可能ですのでマクロで実行できるようにすれば自動実行可能です。
補足
早速ご回答いただいてありがとうございます。 このページを利用して手動ではできるのですが、そのマクロとかVBAのヒントとか解説してあるページをご存じであればお教えいただきたいのですが。 探してはいるのですが、なかなか利用できるものがありませんで....
お礼
VBAはほとんど使ったことなかったですが、なんとなくわかりました。 そして当日データも拾ってこれました!ありがとうございます。 その後いろいろと探しましてStockLibraianというフリーソフトを見つけることができました。ありがとうございました。