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=“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