Get real-time live foreign exchange rates in Excel with this free spreadsheet. The quotes are delayed by about 15 or 20 minutes but are updated every minute or so.
Everything is automated in VBA. The VBA can be viewed and modified. The nuts and bolts of the code is a QueryTable that extracts the most recent forex rates from http://finance.yahoo.com for the two specified currencies.
All you have to do is type in two three-letter currency codes, and click a button (you can find a list of currency codes here).
The VBA then downloads the the most recent foreign exchange rates from Yahoo into Excel, using a query table.
Excel then downloads the previous close, open, and current bid/ask rates for the currency pair. Clicking the button again refreshes the quotes with the most recent values.
Automatically Updated Real-Time Forex in Excel
Now, here’s where we can be clever and get Excel to automatically update the exchange rates live.
1. Select the QueryTable as shown below, right-click and select Data Range Properties.
2. In the External Data Range Properties menu, place a check in the Refresh every option, and pick an update time (you can only choose an integer number of minutes). Now click OK.
Excel now updates the data in the QueryTable automatically, without you needing to click buttons or run macros. Cool, eh?
I use a variant of this spreadsheet to keep track of the sterling value of my foreign savings. You can, for example, modify the VBA to download Forex rates for many currency pairs (let me know if you want this spreadsheet).
Another Excel spreadsheet retrieves daily historical exchange rates between two dates.
Download Excel Spreadsheet for Real-Time Forex Rates in Excel
hello.
i appriciate your site.
but instead of adding 40 something queries just save a .iqy-file and change the query to:
http://finance.yahoo.com/q?s=%5B“price”;”dynamic parameter”]=X
and assign an input cell to this parameter (data-connections-properties-definition).
no vba required and combined with offset etc. a very handy tool.
ali
there has been a formatting error in my previous comment.
is has to be:
http://finance.yahoo.com/q?s=“[“price”;”dynamic parameter”]=X
This is very useful. I’m running Excel 2013 and tried to copy the sheet but had different rows and columns so copied the cells to my workbook but get a runtime error 1004.
Ideally I’d like to have 3 conversions in a single sheet at the end of my financial workbook so I can pickup USD/GBP, AUD/GBP and EURO/GBP real time exchange rates. How do I do this?
Thanks for your help Anthony
I’m getting the following error message:
Run-time error ‘1004’:
Unable to open http://finance.yahoo.com/q?s=USDCAD=X. Cannot download the information you requested.
I want to export the Bid and the Ask to another application that accepts DDE (Dynamic Data Exchange). How do I do that?
Please do everything for me. I cannot research or anything so I rely on people that work hard to provide me something of great value for absolutely nothing, out of the goodness of their hearts and with no effort on my part. Fix MY problems for me!
Great spreadsheet! This will come in very handy for me and I appreciate your hard work. I may have some issues with it working but I will fix it myself. Thanks!
Hi Samir,
Great code! Works beautifully.
Could you share the multiple currency pair XLS too, please?
Thanks,
Sagar
Hey thanks for this! Saved a ton of time 🙂
Hello Samir!!…
Very nice code….but I am facing some problem..(i am not a programmer.. 🙁 …) and got stuck.. I.tried to add e second pair of rates (USD and BRL), by simply coping the table on another sheet changing the sheet name…and the Macro immediately crashed.. You surely defined the sheet name in the Macro…but I was not able to modify it..
Will you be so kind to help me…and send me the corrected Macro?
Sorry to be so cheeky..but I really do not know how to get out..
Many, many tks in advance!
Sergio