How to Refresh Stock Data in Excel

Cody Schneider8 min read

Tracking your investments directly in Excel is a great way to build a personalized portfolio dashboard without needing specialized software. But a static list of stock prices is useless, you need that data to be current. This tutorial will show you exactly how to manually and automatically refresh stock data in Excel, ensuring your portfolio is always up-to-date.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

First Things First: Using Excel's Native "Stocks" Data Type

Before you can refresh data, you need to tell Excel that your text is actually a stock ticker. Many people still type this information in manually, but Excel has a powerful built-in feature called the "Stocks" data type that pulls live, refreshable data directly into your sheet. If you're already using this, feel free to skip to the next section. If not, this is your starting point.

It's a straightforward process:

  1. Enter Your Tickers: In a column, type the ticker symbols or company names for the stocks you want to track. For example: MSFT, AAPL, GOOG, Amazon.
  2. Convert to Stocks Data Type: Highlight the cells containing your tickers. Go to the Data tab in the Excel ribbon and click on Stocks in the "Data Types" group.
  3. See the Magic: Excel will connect to the internet and convert your text into a rich data type. You'll see a small building icon next to each ticker, confirming it's recognized. If Excel is uncertain about a ticker (e.g., "TEA" could be multiple companies), a "Data Selector" pane will appear on the right, allowing you to choose the correct one.

Once converted, you can easily pull in specific data points.

How to Extract Stock Information

With your cells formatted as Stocks, a small "Add Column" icon (it looks like a grid with a plus sign) appears when you select them. Clicking this shows a dropdown list of dozens of available data fields you can extract, such as:

  • Price: The latest trading price (with a slight delay).
  • Change / % Change: The price movement for the current day.
  • 52-week high / low: The highest and lowest prices in the last year.
  • P/E: Price to Earnings ratio.
  • Market cap: The total value of the company's shares.
  • Volume: The number of shares traded today.

Simply click on any field to add it as a new column for all your selected tickers. Now that you have live data connections, let's look at how to keep them refreshed.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Understanding How Excel Refreshes Stock Data

By default, stock data in Excel doesn't update in true real-time like a professional trading platform. The data is provided by a third-party service (Refinitiv) and typically has a delay of up to 15-20 minutes, depending on the exchange. Excel will automatically refresh this data periodically while you have the file open, usually every few minutes. However, you often need an immediate, on-demand update. That's where manual and automatic refreshing comes in.

How to Manually Refresh Stock Data

If you just opened your spreadsheet or want the absolute latest available data right now, a manual refresh is the quickest way to get it. Excel gives you a few easy ways to do this.

Method 1: The "Refresh All" Button

This is the most common method. It updates every external data connection in your entire workbook, including your Stocks data.

  1. Navigate to the Data tab on the ribbon.
  2. In the "Queries & Connections" group, click the Refresh All button.
  3. You'll briefly see a message at the bottom of Excel saying "Running background query..." and then your data will update.

Method 2: The Right-Click Menu

For a more targeted refresh, you can update just the stock data without affecting other connections.

  1. Select any cell that has the Stocks data type.
  2. Right-click to open the context menu.
  3. Go to Data Type and then click Refresh in the submenu. This forces just that specific block of stock data to update.

Method 3: The Keyboard Shortcut

If you're a fan of keyboard shortcuts, you can refresh all data connections without clicking any menus.

  • Press Ctrl + Alt + F5.
GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

How to Automatically Refresh Stock Data in Excel

Manually clicking "Refresh" is fine for quick checks, but you can set up Excel to do the work for you. There are two primary ways to automate the refresh process: update every time you open the workbook or refresh at a set time interval.

Option A: Refresh Data When Opening the File

This is a popular and practical option. It ensures you’re always starting your session with the most recent data available without having to remember to click "Refresh All" first.

  1. Go to the Data tab and click on Queries & Connections. This will open a side pane showing all data connections in your workbook.
  2. In the pane, right-click on the "Stocks" connection (it might also be under a name like "DataType" or showing a list of tickers).
  3. Select Properties from the context menu.
  4. In the "Query Properties" dialogue box that opens, under the "Usage" tab, check the box for Refresh data when opening the file.
  5. Click OK.

Now, every time you open this specific Excel file, it will automatically perform a "Refresh All" as soon as it loads.

Option B: Refresh Data Periodically at a Timed Interval

For a more "live" feel, you can have Excel update your stock data automatically every few minutes while you work. This is useful for keeping an eye on market movements throughout the day.

  1. Follow the same initial steps: Go to Data -> Queries & Connections.
  2. Right-click the Stocks connection in the side pane and select Properties.
  3. In the "Query Properties" dialogue box, check the box next to Refresh every....
  4. Enter your desired refresh rate in the "minutes" box. The minimum interval you can set is 1 minute.
  5. Click OK.

Keep in mind: a very frequent refresh rate (e.g., every 1 or 2 minutes) on a workbook with a large amount of data can sometimes slow performance slightly, as Excel has to ping the server for updates in the background.

For Advanced Users: Refreshing with a Simple VBA Macro

If you want more control, like having a big, obvious button on your sheet to refresh the data, you can use a tiny bit of VBA (Visual Basic for Applications), Excel's built-in programming language. Don't worry, it's easier than it sounds.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Step 1: Create the Macro

  1. Press Alt + F11 to open the VBA Editor.
  2. In the editor, go to Insert > Module. A blank code window will appear.
  3. Copy and paste the following simple code into the window:

Sub RefreshAllData() ActiveWorkbook.RefreshAll End Sub

  1. Close the VBA Editor by clicking the "X" in the top-right corner. The macro is now saved.

Step 2: Assign the Macro to a Button

  1. Go to the Insert tab in Excel, click Shapes, and pick any shape you like - a simple rectangle works well.
  2. Draw the shape on your worksheet where you want your button to be. You can right-click it and select "Edit Text" to label it "Refresh Data."
  3. Right-click on the shape and choose Assign Macro...
  4. In the dialogue box, select the "RefreshAllData" macro and click OK.

That's it! Now, clicking this shape will execute the code and refresh all your data connections, acting as a custom-made refresh button.

Troubleshooting Common Issues

Sometimes things don't go as planned. Here are a few common hiccups and how to fix them.

  • Data Isn't Updating: Double-check your internet connection. Remember that stock data only updates when the relevant market is open. A refresh won't show new prices on a Saturday. Also, make sure you don't have "Enable background refresh" unchecked in the connection properties.
  • #FIELD! Error: This error means the specific data field isn't available for that company stock. This is common for smaller exchanges or certain types of funds where fields like "P/E Ratio" might not apply. There's not much to do but pick a different field.
  • Excel Seems Slow: If your sheet becomes sluggish after setting up automatic timed refreshes, you likely have the interval set too low for the amount of data you're pulling. Try increasing the refresh interval (e.g., from 1 minute to 5 or 10 minutes) or switch to refreshing only when the file is opened.

Final Thoughts

Keeping your financial data current is essential, and Excel gives you all the tools you need to do just that. Whether you prefer a quick manual refresh with a button click or want a hands-off, automated setup that updates on a schedule, you can easily configure your portfolio tracker to fit your needs.

While Excel is fantastic for tasks like this, tracking broader business performance can mean spending hours manually pulling data from tools like Google Analytics, Shopify, Facebook Ads, or HubSpot to get it into a similar state. To solve that, we built Graphed to connect directly to all of your data sources. We make it easy to build live, interactive dashboards using simple, natural language. This completely automates the reporting slog, letting you move from just refreshing data to actually finding insights.

Related Articles