Excel Automated Earnings Date downloader

Earnings.xls automatically downloads and fills in the expected earnings dates from zacks and yahoo.

1. Download the file earnings.xls (last updated 4/13/2013 * updated code so that dates from Yahoo work once again.)

Initial Setup: (steps 2-3 only have to be done once)
2. Press alt + F11
3. From the Microsoft Visual Basic Menu, Select TOOLS, select REFERENCES, then find “Microsoft Internet Controls” and place a checkmark next to it. Click OK and Exit everything.

earnings11

If Microsoft Internet Controls is not listed, click the browse button and browse to system32shdocvw.dll. Then it will appear in the list.

earnings2

4. Import, paste or type symbols into column A

earnings3

5. Press the “Get Earnings” button.

earnings4

Earnings dates will fill in.

earnings51

If earnings.xls does not pull in the dates:

Earnings.xls opens 3 2 websites (in hidden instances of Internet explorer) and parses for the earnings dates. It waits until the page is done loading before moving forward. Firewalls, adblockers, modified host files etc can prevent a website from completely loading. Here is how to fix this problem.

Open each of the following links in Internet Explorer (It has to be IE)
At the bottom left of IE you must get the message “Done” (not 1 item remaining etc).

http://www.zacks.com/research/report.php?type=estimates&t=MSFT

http://biz.yahoo.com/research/earncal/m/msft.html

http://clearstation.etrade.com/cgi-bin/details?Symbol=msft **

 

 

earnings6

 

Comments

  1. Nice work!

  2. I am so grateful for your wonderful earnings downloader. For ages I been searching high and low for some way get earnings dates for my watchlists without having to manually enter each one. Not only did I search all over the net but I even have accounts with Thinkorswim, Investools, and Worden TC Telechart and none of them allowed for this. I had actually come across your site months ago but kept getting runtime error #9 when I tried the download so I gave up. Today however, it worked but I'm not sure why. Now though I get a runtime error #5 but it works just great despite that. A million thanks.
    Gillian.

  3. ExcelTrader says:

    Gillian,
    Thanks for informing me of this issue. I have updated earnings.xls so that the error no longer occurs. The issue is that currently earnings data is missing from most all stocks on the clearstation website which is where the dates in column two are from. This appears to be a temporary problem but at least when there is no data the program will no longer error. Instead it will be skipped but earnings dates will still appear from yahoo/zacks.

  4. Thank you so much for resolving the problem so quickly
    At the risk of being redundant because I did send an email the gmail account but would you also be kind enough to tell me what file format to save as? When I try various things, I either can't reopen it or I get runtime error #9 out of range.

  5. ExcelTrader says:

    Save as "Excel 97-2003 workbook (*xls)". Also the file should not be renamed or it will error. (If you have Excel 2010 and that does not solve the issue you might also need to lower security settings File>Options>Trust Center>Trust Center Settings>Macro Settings> then Enable all macros and a check next to to "trust access to the vba project object model")

  6. I have an error in the VBA here:

    Do Until OIE2.ReadyState = READYSTATE_COMPLETE

    my IE is in French.

    How can I resolve the problem?

    Stephane

  7. Hi,

    I have window 7 and Office 2007

    I don't "Microsoft Internet Controls" or file name "shdocvw.dll"
    it is not listed on Microsoft Visual Basic Menu, Select TOOLS, select REFERENCE..

    Please advise...

    Thanks
    RajaJani

  8. ExcelTrader says:

    RajaJani,

    Try the this location and file name ieframe.dll. The location and file name to can differ.

  9. Is this still maintained? Until last week I got runtime error 9 but it would work if I opened the macro and just ran "XXXZacksDOTcom" .
    If I run it now all dates are 3/14/2013. Zacks.com was under construction this week..

  10. ExcelTrader says:

    Marco, It's likely that the issue with zacks was temporary. I have tested and am able to get dates with no issues. Reporting the problem via comments is the best way to notify me of any issue and get an update. Thanks.

  11. Neil, your screenshot also has all zack's returns defaulting to 100 days away? It appears there is somthing going on at Zack's http://finance.groups.yahoo.com/group/smf_addin/message/20475

  12. ExcelTrader says:

    Marco, Thanks again for pointing out the issue. Earnings.xls has been updated and once again works properly with zacks.

  13. Thanks for the quick update. One more thing I'd like to point out is calculation of the best date. Would it not be a better option to disregard a negative value which likely refers to past earnings date?

    AIG 11/1/2012 -35 2/21/2013 77 11/1/2012

  14. When I bring up Yahoo and Zacks in internet explorer and then start the program, IE stops working. Is that a bug with one of the websites?

  15. ExcelTrader says:

    John, first test that you can open zacks in IE enter a symbol and have the page load with no errors. If that works there may have been a temporary issue with their site.

  16. Thank you very much for an extremely helpful tool !!!

  17. Wow! I too have been looking for some tool like this. Quite exceptional! You get a BIG "Atta Boy!" from me. May I suggest adding a sheet called "Dividend" that provides the latest dates for Ex-Dividend and Dividend for the same stock list. This would be really sweet!

  18. Anonymous says:

    How can I get this to work on a Mac with Excel?

  19. ExcelTrader says:

    Although I make effort for my files to work with excel 2003 and newer, any ability for my files to run on mac versions of office are dependent on compatibility between Mac/PC versions of Excel, as I do not own a mac and do not test on Mac versions.

  20. Anonymous says:

    Does this work strictly for NYSE stocks? I have tried with some Canadian stocks and it hasn't worked. Do you know if there is a way to make it accurately retreive them?

  21. ExcelTrader says:

    The data comes from yahoo so the symbol must be available from yahoo finance. For example symbol AAH needs to be entered as AAH.TO and for any symbol you need to enter it as it appears after the "=" in the URL like the one here> http://ca.finance.yahoo.com/q?s=AAH.TO

  22. Hi Neil, just wanted to let you know that Zacks is not working, I get the 100 days pending message. I did some research and think that you need to use: "http://www.zacks.com/stock/quote/Ticker/detailed-estimates" instead of just "http://www.zacks.com/stock/quote/Ticker/".

    I look forward to hearing back from you, and also to see your finalized spreadsheet for the naked options!!

  23. I had a similar issue, all Yahoo values returned earnings dates 100 days away. In my case it seemed to be associated with updating from IE9 to IE10, restoring to the previous version of internet explorer resolved it.

  24. Hi Neil - sorry to be a pest. Had used this download once before and LOVED it, but now the GET EARNINGS button in the same file does nothing. Tried to re-download the file, did AltF11 again in case something came undone, confirmed Microsoft Internet Controls was checked under References, but still nothing. Can you recommend any next steps? Loved your program and an anxiously looking forward to your release of your Selling Options program. You do GREAT work !!! Thanks for your help!

  25. ExcelTrader says:

    Thanks to those who have commented about the issues with earnings.xls. These problems are expected as the various sources change their format. In my test zacks was working correctly. Yahoo was not working but has now been fixed. Eric, the problem you describe of nothing happening most likely means that macros are disabled in your excel settings or the security settings are too high. (Also if you use Excel 2007 or newer, you might try saving the file to .xlsm filetype and then running.)

  26. Hi Neil,
    clicking on "Get Earnings" resulted in the Microsoft Visual Basic error message
    "Run-time error '9':
    Subscript out of range

    No results displayed from
    http://www.zacks.com/research/report.php?type=estimates&t=MSFT

    with thanks, Andy

  27. Please ignore my earlier post as
    the Run-time error seems to have resulted from
    my renaming earnings.xls into something else.

    The Yahoo downloading is OK while the Zacks data shows "7/27/2013" for all stocks.

  28. ExcelTrader says:

    In my own test, zacks dates are working correctly. Make sure that you have downloaded the most recent version of earnings.xls.

    4-18-2013 4-17-28 PM

  29. when I input alot of stocks (200) i get a runtime error ''-2147352319 (8002010)'

    Any thoughts?

    Ideally i woudl like to be able to update this list 1 time a day but will settle for 1 time a week with 430 stocks.

    Please let me know, thanks

  30. Not sure if my comment got deleted or what but I am unable to use this program when i have more than 20 stocks in the file... any thoughts?

  31. I also get this error now of "Microsoft Excel is waiting for another application to complete an OLE action"

    Pleaes help.

  32. Hi Neil,
    Firstly, thank you for your downloader.
    I want to use it from an Excel VBA script. How can I do it?
    Thanks again.

  33. Still trying to get this to work.

    How can i get it to open explorer 64 bit instead of 32. and or google chrome?

Speak Your Mind