← Blog

Claude Integration with Excel: A Practical Guide

2026-09-09 · 5 min read · SubToAPI Team

Does Claude integrate with Excel?

Not natively, in the way Copilot is baked into Microsoft 365. There's no ribbon button in a standard Excel install that opens a Claude sidebar. What exists instead is a small set of official and semi-official paths, plus a much larger space of custom integrations that developers build themselves using Claude's API and Excel's automation layer (VBA, Office Scripts, Power Automate, or Python).

If you searched for this because you want Claude to read a spreadsheet, summarize a column, generate formulas, or clean messy data inside Excel, the short answer is: you'll either use a narrow official beta feature (if you have access to it) or you'll wire it up yourself with a script that calls the Claude API and writes the result back into cells. Both are covered below, along with working code for the DIY route.

The official options are limited

Anthropic has shipped Claude add-ins for specific verticals (finance-focused Excel tooling, for example), but these are rolled out in limited beta to specific customer segments, not as a general-availability feature in every Excel install. If you don't have access to one of those betas, don't wait for it — build the integration yourself. It's a few hours of work, not a project.

It's also worth separating Claude from Microsoft Copilot. Copilot is Microsoft's own AI layer inside Excel; it doesn't run Claude models. If you specifically want Claude's reasoning inside a spreadsheet, you need a path that calls Anthropic's models directly, which means an API integration somewhere in the chain.

Building your own Claude–Excel integration

There are three common ways developers connect Excel to an LLM API. All of them follow the same pattern: pull data out of cells, send it to the API, write the response back.

1. VBA + HTTP request

VBA can call any HTTPS endpoint using WinHttp.WinHttpRequest. This is the fastest way to prototype inside a .xlsm file without installing anything.

Sub CallClaude()
    Dim http As Object
    Set http = CreateObject("WinHttp.WinHttpRequest.5.1")

    Dim prompt As String
    prompt = Range("A1").Value

    Dim body As String
    body = "{""model"":""claude-sonnet-4"",""max_tokens"":500," & _
           """messages"":[{""role"":""user"",""content"":""" & prompt & """}]}"

    http.Open "POST", "https://api.subtoapi.app/v1/messages", False
    http.SetRequestHeader "Authorization", "Bearer " & Environ("SUBTOAPI_KEY")
    http.SetRequestHeader "Content-Type", "application/json"
    http.Send body

    Range("B1").Value = http.ResponseText
End Sub

This works fine for single-cell use cases: a "summarize this row" button, a formula generator, or a translation helper.

2. Office Scripts + Power Automate

If you're in Excel on the web or Microsoft 365, Office Scripts (TypeScript) combined with Power Automate lets you trigger a Claude call on a schedule or on file save, without any local macros. The script reads a range, an HTTP action in the flow calls the API, and a second script writes the result back — useful for recurring reports rather than one-off prompts.

3. Python with pandas/openpyxl

For heavier spreadsheet work — cleaning thousands of rows, extracting structured data, batch-classifying entries — Python is the better tool. Read the sheet, chunk the data, send it to Claude, write the response back with openpyxl:

const response = await fetch("https://api.subtoapi.app/v1/messages", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.SUBTOAPI_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "claude-sonnet-4",
    max_tokens: 800,
    messages: [{
      role: "user",
      content: `Categorize each of these expense descriptions into a budget code: ${rows.join("\n")}`
    }]
  })
});

const data = await response.json();
console.log(data.content[0].text);

Swap fetch for Python's requests and the pattern is identical — read cells, build a prompt, call the API, write the response.

Why route through an API layer instead of raw Anthropic keys

Whichever automation route you choose, you still need an application-level API key, streaming support if you're processing large ranges, and some visibility into usage — especially if more than one person on the team is running scripts against the same account. SubToAPI sits in front of your existing Claude access and exposes it as a standard HTTPS API (sub_live_... keys), so your VBA macro, Power Automate flow, or Python job all hit the same endpoint with the same auth model instead of juggling separate credentials per script.

This matters more than it sounds like once an Excel integration moves past "one macro on my laptop." A shared finance workbook that calls an LLM on every save needs a key that can be rotated without breaking every other script, and a way to see how much usage a given automation is generating. The quickstart covers getting a key and making your first request; the messages endpoint docs cover the request format used in the examples above, and streaming is relevant if you're piping large ranges through row by row rather than in one batch. Tool use is worth a look too if your Excel integration needs Claude to call back into structured functions rather than just returning text. Pricing starts with a free trial and Solo at €9; see /pricing or go straight to /signup.

What actually works well for Excel + Claude

What doesn't work well: real-time collaborative editing with Claude "in" the sheet the way Copilot is marketed. Every DIY integration is request/response — you trigger it, it runs, you get an answer back in a cell. That's a limitation of the automation layer, not of Claude itself.

questions

Does Microsoft Excel have a built-in Claude button? No, not in a standard install. Some official Claude-for-Excel features exist in limited beta for specific customer segments, but general availability requires a custom integration via VBA, Office Scripts, or Python calling Claude's API.

Can I use Claude and Copilot in Excel at the same time? Yes. Copilot is Microsoft's AI layer and runs Microsoft's models; a custom Claude integration is a separate script or add-in calling Anthropic's models. They don't conflict — you'd just be running two different tools side by side.

What's the easiest way to start calling Claude from Excel? A VBA macro using WinHttp.WinHttpRequest to POST to a messages API is the fastest prototype — a few lines of code, no installs. For anything used by more than one person, get a proper API key through a service like SubToAPI first so usage and access are manageable.

Turn your Claude access into an HTTPS API

SubToAPI gives you application API keys, streaming, tool use and usage insights on top of your existing Claude access — set up in minutes.

Start free  Read the quickstart →