📤 Split & Send
IT EN

How to split an Excel file by column value into separate files

You have one big spreadsheet and you need one file per region, per warehouse, per client or per salesperson. Here is how to split an Excel file by a column value — the fast no-code way, and the manual and VBA methods too, so you can pick what fits.

Split my Excel file now — free, no sign-up →

The fastest way: split it in your browser (no VBA)

The quickest method needs no formulas, no macros and nothing to install. Split & Send runs entirely in your browser, so your data never leaves your computer.

  1. Upload your file. Drag your .xlsx, .xls or .csv onto the page.
  2. Pick the column to split by — for example Region or Warehouse. The tool shows you the groups it found.
  3. Download the results. You get one Excel file per value, with the original formatting kept intact. Optionally, a ready-to-send email draft is generated for each part.

🔒 Privacy: the spreadsheet is processed locally in your browser and never uploaded anywhere, so it is safe to use with confidential data.

Which method should you use?

There are four common ways to split an Excel file by a column. They trade off speed, safety and how technical they are.

MethodEffortBest when
Browser tool (Split & Send)Seconds, no setupYou want it done now, keep formatting, and maybe email each part
Manual filter + copy/pasteSlow, error-proneOnly two or three groups, one-off
VBA macroTechnical, reusableYou are comfortable with code and repeat the exact same job
Power QueryMedium, in-ExcelYou already build Power Query workflows

Method 1 — Manual (filter and copy)

Good for a one-off with very few groups. Apply a filter on your column, select one value at a time, copy the visible rows into a new workbook, and save. It works, but it is slow and easy to get wrong once you have more than a handful of values — and you have to redo it every time the data changes.

Method 2 — VBA macro

If you are comfortable with code and run the exact same split repeatedly, a macro can automate it. Press Alt+F11, insert a module, and adapt a routine like this (set splitCol to your column number):

Sub SplitByColumn()
    Dim ws As Worksheet, data As Worksheet
    Dim lastRow As Long, i As Long, key As String
    Dim splitCol As Long: splitCol = 2   ' column to split by
    Set data = ActiveSheet
    lastRow = data.Cells(data.Rows.Count, splitCol).End(xlUp).Row
    For i = 2 To lastRow
        key = CStr(data.Cells(i, splitCol).Value)
        On Error Resume Next
        Set ws = Sheets(key)
        On Error GoTo 0
        If ws Is Nothing Then
            Set ws = Sheets.Add(After:=Sheets(Sheets.Count))
            ws.Name = Left(key, 31)
            data.Rows(1).Copy ws.Rows(1)
        End If
        data.Rows(i).Copy ws.Cells(ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1, 1)
        Set ws = Nothing
    Next i
End Sub

The downsides: it creates sheets rather than separate files (you still have to save each one), it does not handle emailing, and every colleague who needs it must enable macros — which many companies block for security.

Method 3 — Power Query

Power Query (Get & Transform) can group rows and, with some setup, export groups. It is powerful if you already live in Power Query, but it is overkill for a quick split and still leaves the "one file per value" and emailing steps to you.

Bonus: email each part to the right person automatically

Splitting is only half the job. Usually each file has to go to a different person — each warehouse gets only its own rows. Split & Send also generates a ready-to-send email draft for every group: the right recipient, your message and the file already attached. You open each draft in Outlook, review it, and send. That is the part manual methods and macros leave you to do by hand.

Try it with your file →

Frequently asked questions

How do I split an Excel file by column value?

Upload the file to a tool like Split & Send, choose the column to split by, and download one file per value. No formula or macro is required.

Can I split an Excel file without VBA or macros?

Yes. A browser-based tool splits the file by a column value with no VBA, no macros and no add-ins. VBA is only one of several ways to do it.

Is it safe to split a confidential spreadsheet online?

With Split & Send the file never leaves your browser: it is processed locally on your computer and never uploaded to a server, which makes it safe for confidential business data.

Does splitting keep the original formatting?

Yes. Colors, borders, fonts, column widths and number formats are preserved in each resulting .xlsx file.

Can it handle a workbook with multiple sheets?

Yes. You can split a single sheet or all sheets at once, each with its own split column. Every group gets one Excel file containing all its matching sheets.

Related: How to email each part of a spreadsheet separately.