Excel 2013で株価をダウンロードするにはどうすればよいですか?Google DocのGoogleFinanceスプレッドシート関数に相当するものはありますか?


8

Googleドキュメントのスプレッドシートでは、次のセルの数式を使用できます。

=GoogleFinance("GOOG", "price")

株式の最新の価格をダウンロードします。Excel 2013に同等の機能はありますか?

以前のバージョンのExcelには、ティッカーごとに大量のデータをダウンロードするスマートタグ機能があり(実際には、価格が必要な場合は多すぎます)、Excel 2013のBing Financeアプリを示唆する情報源を見てきました。残念ながら、これは廃止されました。

これを行う簡単な方法はありますか?私は文字通り最新の価格が必要なだけであり、それが遅れているかどうか、Yahooファイナンスなどから来たかどうかは気にしません。おそらく、YFからCSVファイルをダウンロードして解析するなどのVBAコードを記述できますが、マクロが有効なワークブックの作成を回避したいと考えています。


これは、Excelでそのままサポートされる機能ではありません
Ramhound 2014

1
Excel 2007/2010のdata - existing connection - MSN MoneyCentral Investory Stock Quotes作品で、2013年に削除されましたか?編集 -ええ、それは削除されたようで、Bing Financeアプリが「代替品」です。data - from webmsn moneyへのクエリを設定することもできますが、これは面倒です。
Raystafarian 2014

@Raystafarian新しいデータクエリをどのように設定しますか?
マイケルA

2013年のソースでパワークエリを使用する必要があるようです
Raystafarian 2014

1
@harrymc私はOPではありませんが、最も価値のある答えは、Excel 2013の既存の機能を使用するか、無料であるかであると思います。
Excellll 2016年

回答:


5

このようなUDFを使用できます-

Option Explicit

Public Function GetTickerPrice(ByVal ticker As String) As Double

    Dim IE As Object
    Dim pageData As Object

    Set IE = CreateObject("InternetExplorer.Application")
    Dim URL As String
    URL = "http://www.msn.com/en-us/money/stockdetails/fi-126.1." & ticker & ".NAS?symbol=" & ticker & "=PRFIMQ"

    IE.Navigate URL

     Do Until IE.ReadyState >= 4
            DoEvents
     Loop

     Application.Wait Now + TimeSerial(0, 0, 5)

     Set pageData = IE.document

     GetTickerPrice = pageData.getElementsByClassName("precurrentvalue")(0).innertext

     Set IE = Nothing
     Set pageData = Nothing
End Function

これでGetTickerPrice("GOOG")、現在の価格を使用して取得できます。


私はこれをCodereview.SEに引き継ぎました。


2
LongではなくDoubleとしてフォーマットするのが最善ではないので、10進数の情報が失われませんか?その後、エンドユーザーは丸めたいかどうかを決定できます。
ジョンノ2016

ありがとう、これでうまくいきます!しかし、それは本当に遅いです-1つの株価を取得するのに約20秒 IEを開いてURLを読み込むと、ボトルネックが発生することを想定しています。とにかくこれを回避する方法はありますか?
Excellll 2016

@ジョンノはい、Excellllが変更を加えたようです
Raystafarian

@Excellll私はそれを回避する方法があるかどうかを確認しようとします。おそらくIEをサイレントに強制するかもしれませんが、以前のようなデータベースが見つからない場合は、(少なくとも古いバージョンのExcelでは)スタックしている可能性があります。
Raystafarian 2016年

1
@Excellll 私のアプローチに対するCodeReviewでかなりまともな応答があります。それは私の答えと同じであるとみなされないほど十分に異なっているようです。
Raystafarian 2016年


-1

これを行うExcel 2013のStock Quote Add-Inと呼ばれるアドインがあり、2013用のバージョンがあります。個人的には動作させることができませんでしたが、数年前から存在していたため、おそらく私だけでした。


2
スーパーユーザーへようこそ。これは質問への回答に役立ちますが、このプラグインの使用方法に関する情報を追加できますか?
LJD200 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.