“Excel is waiting for another application to complete an OLE action” during refresh.

This warning appears when Microsoft Excel makes an Object Linking and Embedding (OLE) call to an external component, such as an external database driver, an automated Office application, a dynamic data exchange (DDE) server, or an add-in, and that component fails to return control before Excel’s internal timeout triggers.

Quick Answer

Dismiss open dialog boxes or credential prompts hidden behind Excel in other applications. If the refresh remains frozen, press Esc repeatedly to interrupt the OLE call. To permanently stop the issue, disable “Ignore other applications that use DDE” in Excel Options and launch COM add-ins in safe mode to isolate the culprit.


What OLE Action Means During Refresh

Excel uses OLE and Component Object Model (COM) protocols to communicate with external applications and drivers. When you initiate a data refresh (such as via Power Query, external ODBC drivers, or SQL connections), Excel hands off a request to the secondary service and pauses its own execution thread until that service responds.

If the external application displays a modal prompt (like a database login dialog, an SSL certificate confirmation, or an overwrite warning) that appears minimized or behind your main Excel window, the external program pauses execution. Because Excel cannot move forward without an answer, it displays the message: “Microsoft Excel is waiting for another application to complete an OLE action.”


Step-by-Step Diagnostic Path

Step 1: Reveal Hidden Dialog Boxes

In many cases, the external process is simply waiting for user input.

  1. Press Alt + Tab to cycle through all open windows on your desktop.
  2. Look for minimized credential prompts, database connection dialogs, or Windows security warnings.
  3. Complete or cancel the dialog. Excel will resume immediately.
Step 2: Clear DDE Settings

An incorrect Dynamic Data Exchange (DDE) setting forces Excel to drop or mismanage communication with outside data streams.

  1. In Excel, go to File > Options > Advanced.
  2. Scroll down to the General section.
  3. Locate the setting “Ignore other applications that use Dynamic Data Exchange (DDE)”.
  4. Ensure this checkbox is unselected (unchecked). If it was checked, clear it, click OK, and restart Excel.
Step 3: Identify Faulty COM Add-ins

Third-party add-ins (such as enterprise reporting tools, Adobe PDF plugins, or legacy calculation engines) hook directly into OLE threads and can stall external refreshes.

  1. Start Excel in Safe Mode by holding Ctrl while launching the program, or run excel.exe /safe from the Windows Run prompt (Win + R).
  2. Open the affected file and test the refresh.
  3. If the refresh completes normally, disable add-ins systematically:
    • Go to File > Options > Add-ins.
    • In the Manage dropdown at the bottom, select COM Add-ins and click Go.
    • Uncheck all add-ins, then re-enable them one by one to identify which extension stalls the refresh cycle.
Step 4: Manage Query Background Refresh Conflicts

When Excel queries external sources, running background execution can occasionally clash with foreground COM calls.

  1. Go to the Data tab and select Queries & Connections.
  2. Right-click the problem query and select Properties.
  3. In the Usage tab, clear the checkbox for “Enable background refresh”.
  4. Click OK. This forces Excel to run the request synchronously, avoiding background thread deadlocks.

System-Level Escalation

If the error occurs consistently during automated VBA macro executions, the macro is likely attempting to manipulate a COM object (such as Word, Outlook, or an ERP connection) before that application has initialized its interface.

For systemic system-level solutions and handling automation lockouts within Windows services, see “Excel is waiting for another application to complete an OLE action” (System-level fix). If the refresh freeze causes complete application unresponsive states, consult “Excel is Not Responding”: Top 10 causes and how to unfreeze.