Create your first project
Upload your first Excel to the platform, open the in-browser editor and save a version.
A guide for users coming from Excel desktop with macros. How to migrate VBA logic to LAMBDA + JS, no Alt+F11 required.
VBA needs the desktop Excel runtime. This platform runs 100% in the browser (no install) and files are processed server-side with ClosedXML — an xlsx reader/writer that doesn't execute VBA. On top of that, executing arbitrary user-submitted VBA would be a huge security hole. The fix: LAMBDA + JS sandbox, which cover ~95% of VBA cases without any of those problems.
VBA Function taking args, returning a value → LAMBDA. VBA Sub looping cells and modifying → JS sandbox. VBA with InputBox / MsgBox → not applicable (the AI chat replaces this). VBA with file I/O / web requests → not supported (security). VBA with UserForm → the AI handles a conversational flow instead.
Your VBA macro had: Function ContaxTax(price As Double) As Double : ContaxTax = price * 1.21 : End Function. Ask the AI: "Create ConTax that takes a price and adds 21%." Result: =ConTax(A2) works identically in any cell. And the file is portable to desktop Excel.
Your VBA macro had: For Each c In Range("A2:A100") : c.Offset(0,1) = UCase(c.Value) : Next. Ask the AI: "For A2:A100, put the uppercase value in column B". Result: it uses compute_with_js with data.map(r => (r[0]||"").toUpperCase()). Same effect, secure sandbox, saved in Functions.
Your VBA macro had a custom string parser with substr, instr, etc. JS does the same with regex in one line. VBA example: extract 4 digits from a product code. JS equivalent: data.map(r => { const m = String(r[0]||"").match(/\d{4}/); return m ? m[0] : null; }). Way more readable and secure.
File / network access: blocked by design in the JS sandbox (this is what stops a malicious script from reading your disk). Workbook events (Worksheet_Change, Workbook_Open): no — the app isn't an event host. UserForms: the AI chat replaces this. External API calls: would be a future feature via a specific tool, not arbitrary JS.
If you have a .xlsm with many macros, you don't need to migrate all at once. Upload the file (the app preserves macros even though it doesn't execute them), and for each flow you wanted the macro to run, just ask the AI to do it. You'll find that most macros boil down to 1–3 sentences in plain English. The functions the assistant creates accumulate in the panel — soon you have your personal set of "macro replacement functions".
Open ExcelEmpowers and follow these steps on your own Excel.
Create free account ← Browse more tutorials