Excel Automated Earnings Date downloader


****NOTE: A new version is now available here. This version is no longer maintained.

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

1. Download the file earnings.xls (last updated 01/22/2016)

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.


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


4. Import, paste or type symbols into column A


5. Press the “Get Earnings” button.


Earnings dates will fill in.


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://clearstation.etrade.com/cgi-bin/details?Symbol=msft **






  1. Thanks for your work on this. I switched the VBA code to using WinHTTP and noticed a significant increase in performance.

  2. I've been having some trouble downloading the earnings dates from yahoo, so I tried Steve's recommendation and used WinHTTP. It fixed my problem and it does run faster.

  3. Hi,

    Is there a way to update the spreadsheet to pull in Time of Day for the earnings announcement, as well? (i.e. Before Market Open, After Market Close)


  4. ExcelTrader says:

    earnings.xls has been updated so that both sources work.

Speak Your Mind