Real-Time Forex Rates in Excel

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.

Foreign Exchange Rates in Excel

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.

Forex in Excel

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


4 thoughts on “Real-Time Forex Rates in Excel

  1. 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

  2. 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

Leave a Reply

Your email address will not be published. Required fields are marked *

What is 12 + 13 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)