Excel and VBA, finally working together.

One AI agent. It reads your sheets, writes the macro, and tests it — all without leaving Excel.

AutoSave

Q3_Reporting.xlsm - Excel

FileHomeInsertPage LayoutFormulasDataView
B4=SUMIFS('Raw data'!$F:$F,'Raw data'!$C:$C,"Apr")
ABCDEFGH
1MANAGEMENT SUMMARY23AprMayJunJulAugSepTotal4Revenue38.241.739.944.146.837.3248.05Cost of sales22.424.123.625.026.922.4144.46Gross margin41.4%42.2%40.9%43.3%42.5%39.9%41.8%7Operating cost15.115.816.216.016.616.396.08EBITDA0.71.80.13.13.31.47.69101112131415161718

deepblick

Build the Q3 management summary, and fix the import macro, it stops at 500 rows.

Workbook change verified

  • Done: get cell ranges · Raw data!A1:F1842
  • Done: set cell range · Summary!B4:H12
  • Done: write vba module · Module1 · sha256 9c71…04
  • Done: compile vba · project compiled
  • Done: run macro live · Module1.ImportBookings · executed, completed
The summary is built and the import loop now reads the last used row. Readback confirms Summary!B4:H12 and 1 842 imported rows. Nothing was saved.
Workbook change verified · unsaved

Ask about the workbook or describe a change…

Summary!H10
SummaryRaw data
Ready100%

Built for anyone who lives in Excel

Excel/VBA consultants

You bill for custom builds every month. Cut the time between “client asked for this” and “delivered” — without cutting quality.

Controllers

Reporting macros that used to eat an afternoon now get built and tested in minutes.

Financial analysts & investment bankers

Models that need to be bulletproof before they hit a deal team — built and checked faster, with fewer manual errors.

Writing VBA still means switching windows, guessing, and debugging blind.

Context switching

Code lives in the VBA editor, logic lives in your head, and the workbook is somewhere else entirely.

Debugging by trial and error

A macro breaks, and there’s no assistant that understands your actual sheet structure.

Every project starts from zero

Reusable logic gets rebuilt manually, project after project.

How it works

  1. Describe what you need.

    Tell the agent what the macro should do, in plain language.

  2. It reads your sheets, then writes the VBA.

    The agent scans your Excel sheets and any existing VBA modules, then writes the code directly in your workbook — no copy-pasting between windows.

  3. It tests and fixes it.

    The agent runs the macro, catches errors, and corrects them before you touch a thing.

Fix ImportBookings so it handles any number of rows, then compile and run it.

VBA result verified

  • Done: list vba modules · 3 modules · 11 procedures
  • Done: read vba module · Module1 · 84 lines · sha256 4f2a…c1
  • Done: write vba module · Module1 · sha256 9c71…04
  • Done: compile vba · project compiled
  • Done: run macro live · Module1.ImportBookings · executed, completed
  • Done: get cell ranges · Raw data!A1:F1842
ImportBookings now reads the last used row instead of a fixed bound. The project compiled, the macro ran to completion, and the readback shows all imported rows in Raw data!A1:F1842. The project is not saved.
VBA macro ran · expected result verified · save state unverified
Reading Raw data
DateClientRegionAmount
04/02Nordwind AGDE3,200
04/03Atlas FreightNL1,850
04/03Bluewave LtdUK4,120
Scanning 1,842 rows in Raw data!A1:F1842
Microsoft Visual Basic for Applications - Book1
FileEditViewInsertDebugRunTools
Ready
Project - VBAProject
▾ Microsoft Excel Objects
Sheet1 (Raw data)
Sheet2 (Summary)
ThisWorkbook
▾ Modules
Module1
(General)ImportBookings
Public Sub ImportBookings()
Dim ws As Worksheet, i As Long
Set ws = ThisWorkbook.Sheets("Raw data")
- For i = 2 To 500
+ lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
+ For i = 2 To lastRow
ws.Cells(i, 6).Value = amount
Next i
End Sub
✓ Macro executed successfully
Immediate
? ws.Name
Raw data
? lastRow
1842
1,842
rows imported into Summary!B4:H12

All in one product: deepblick for Excel

One pane, one conversation

Ask, review and run in the task pane next to your sheet. No second window, no separate mode.

It reads before it writes

Sheets, ranges and existing modules are read first, so answers match your real structure.

Understands the cells you selected

Highlight a range, then ask. The agent already has that selection as context — you can say “this column” and it knows which cells you mean.

Runs it, then checks it

The macro is executed and the result range is read back, so you see what actually changed.

Formulas and formatting too

Clean up data, write formulas and format ranges in the same conversation as the code.

Cites the cells it used

Answers name the actual ranges — Sheet1!B2:B20, not “that column on the left.” You can see what it read and what it changed.

Questions before you book a demo

Yes. The agent works only on the workbook currently open in Excel. It does not create a sandbox or a working copy.

Ready to see it on your own workbook?

Bring a real file to the call. We’ll show you the agent working on it live.

Book a demo