Why does your macro run perfectly on desktop but vanish when you open the file on your phone? Why does the Developer tab disappear in Excel for iOS? Why does tapping ‘Run’ do absolutely nothing — even though the button looks active?
The short answer: Excel Mobile doesn’t support VBA macros at all. Not even a little. Not with workarounds. Not with hidden settings. That’s not a limitation — it’s by design. Microsoft removed VBA from all mobile clients (iOS, Android, and even iPadOS) years ago, and they’ve confirmed it won’t return.
Quick Answer
No — Excel Mobile (iOS/Android) cannot run, edit, or even display VBA macros. The Developer tab is completely hidden, Alt+F8 does nothing, and opening a .xlsm file shows no macro indicators. But yes — you *can* automate actions triggered by changes made in Excel Mobile, using Power Automate, Office Scripts, or cloud-connected formulas. It just requires shifting your thinking from ‘macro = local code’ to ‘automation = cloud event’.
All the Methods
| Method | Steps | Best For | Limitations |
|---|---|---|---|
| Power Automate + OneDrive | 1. Save workbook to OneDrive 2. Create flow triggered by ‘When a file is modified’ 3. Add action to run script or send email | Email alerts, data syncs, Slack notifications | No real-time response (5–15 min delay) Can’t read cell values directly — needs Office Script or Power Query step |
| Office Scripts (web-only) | 1. Record or write script in Excel for Web 2. Save to OneDrive 3. Run via button in Excel Mobile (limited UI) | Formatting, copying ranges, basic logic (e.g., B2:C10 → D2:E10) | No loops or custom functions Scripts appear only in Excel for Web & Desktop — not visible in Mobile UI Must be launched from web or desktop first |
| Dynamic Arrays + LET + LAMBDA (cloud formulas) | 1. Build calculation logic in named LAMBDA (e.g., CalculateBonus)2. Reference in A1:A100 3. Works automatically on any device | Real-time recalculations (e.g., commission math, status flags) | Not true automation — no side effects (can’t email, save to DB, or modify other sheets) LAMBDA unavailable on Excel 2019 or older |
| Power Apps integration | 1. Publish Excel as data source in Power Apps 2. Build mobile app with buttons that write back to Excel 3. Use Power Automate behind the scenes | Field teams updating inventory, approvals, surveys | Requires Power Apps license ($10/user/month) Overkill for simple tasks Learning curve steep for non-devs |
Method 1 Deep Dive
Let’s say Sarah Chen at Acme Corp uses Excel Mobile to log daily field visits. She updates column E (Status) in Sheet1!E2:E50. You want an email sent to her manager whenever she marks a row as ‘Completed’.
You’ll use Power Automate. First, make sure the file lives in OneDrive (not local storage). Then go to flow.microsoft.com, click ‘Create’ → ‘Automated cloud flow’. Name it ‘Notify on Field Visit Complete’.
Trigger: ‘When a file is modified’ (OneDrive for Business). Set folder to where your Excel file lives. Next, add ‘Get rows’ (Excel Online connector), point to Sheet1, and filter rows where Status eq 'Completed'. But here’s the counterintuitive part: Excel Mobile saves don’t always trigger immediate change detection. So we add a ‘Delay’ of 60 seconds — then re-check. (Trust me, I learned this the hard way after three missed notifications.)
Then add ‘Send an email (V2)’. Fill in manager’s address, subject like ✅ Field visit completed: [Name] on [Date], and body pulling Item()['Name'] and Item()['VisitDate'] from the dynamic content pane. Save and test by editing E7 in Excel Mobile — you’ll get the email within 2 minutes.
Sample data in Sheet1:
| A1: Name | B1: Site ID | C1: VisitDate | D1: Notes | E1: Status |
|---|---|---|---|---|
| Sarah Chen | ACM-782 | 2024-03-15 | Roof inspection passed | Completed |
| James Lee | ACM-783 | 2024-03-16 | HVAC unit replaced | In Progress |
| Priya Desai | ACM-784 | 2024-03-17 | Fire alarm test done | Completed |
| David Kim | ACM-785 | 2024-03-18 | Door access installed | Pending Review |
Method 2 Deep Dive
Office Scripts are the closest thing to ‘macros’ that actually show up across devices — but with caveats. They’re JavaScript-based, run only in Excel for Web (and desktop), and require OneDrive/SharePoint storage.
Here’s what works: You record a script that formats B2:C10 — bold headers, green fill for values > $5,000, auto-fit columns. Save it. Then, when Sarah opens the file in Excel Mobile, she *won’t see the script button*. But if she opens the same file in Excel for Web (on Chrome, Safari, Edge), she’ll see ‘Automate’ > ‘My Scripts’ > ‘Format Sales Data’. Click it — runs instantly.
Now, here’s the surprising tip: You *can* trigger that script from Excel Mobile — indirectly. Embed a hyperlink in cell A1 that says ‘Refresh Report’, and link it to https://excel.office.com/?action=runScript&scriptId=abc123.... When tapped, it opens Excel for Web and runs the script. Yes — it’s a redirect, but it feels seamless to the user.
To build it: In Excel for Web, go to Automate > New Script > Record Actions. Select B2:C10, apply formatting, stop recording, name it ‘Sales Formatter’, and save. Copy its ID from the URL bar (looks like scriptId=3a7b8c...). Then in Excel Mobile, type =HYPERLINK("https://excel.office.com/?action=runScript&scriptId=3a7b8c...", "🔄 Refresh") in A1. Done.
Cheat Sheet
| Task | How to Do It | Shortcut / Tip |
|---|---|---|
| Check if macros exist in file | Open in Excel Desktop → Alt+F8. If blank, file has none. | Alt+F8 is the fastest macro list shortcut — works even if Developer tab is hidden. |
| Trigger automation from Mobile | Use Power Automate + OneDrive change trigger. | Add 60-sec Delay before reading — avoids race conditions on rapid saves. |
| Run formatting logic on Mobile | Record Office Script → embed HYPERLINK to script URL in A1. | Script IDs are stable — safe to share in hyperlinks. |
| Avoid VBA confusion | Never save as .xls — use .xlsx (no macro support) or .xlsm (desktop-only). | Excel Mobile opens .xlsm files but strips all VBA — no warning, no error. |
| Test mobile behavior | Use Chrome DevTools → Toggle Device Toolbar → iPhone 14. | F12 → Ctrl+Shift+M (Windows) or Cmd+Shift+M (Mac) — faster than grabbing your phone. |