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


9 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=%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

    Reply
  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

    Reply
  3. 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!

    Reply
  4. 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

    Reply

Leave a Comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.