Skip to main content
๐Ÿ’ก

Combine Multiple CSV Files Into One Workbook, Separate Tabs

6 min readOctober 26, 2026

Quick Answer: To keep every CSV on its own tab, import each one with Data > From Text/CSV and choose Load, which puts the data on a new worksheet; repeat per file. For a handful of files you can also open each CSV and use Move or Copy to drop its sheet into one workbook. For a folder of dozens, a ten-line VBA macro opens each file and copies its sheet across. Power Query's From Folder command stacks files into one table, so it is the wrong tool for tabs.


Excel has no single "open these 12 CSV files as 12 tabs" button, but three routes get you there: loading each file through From Text/CSV, copying sheets by hand with Move or Copy, or running a small macro that loops through a folder. Which one fits depends on how many files you have and whether you will repeat the job next month.

Drop your bank statement here

PDF or OFX ยท Max 4.4 MB

Uploaded over an encrypted connection. We never ask for your bank login. Privacy

Preview free with no account. Free account to download.

Which method should you use?

MethodBest forRefreshableSkill needed
From Text/CSV, one load per file2 to 10 files you will update laterYes, each tab is a queryNone
Open each CSV, then Move or CopyA one-off with a few filesNoNone
VBA macro over a folder10 or more files, or a monthly routineRerun the macroPaste and edit a macro
Power Query From FolderStacking all files into one sheetYesNone

If what you really need is one long table of every transaction, with a column saying which month each row came from, skip this article and follow merging CSV bank statements into one table. Separate tabs suit side-by-side month reviews, sending one workbook to an accountant, or keeping each account apart.

Method 1: How do you load each CSV onto its own sheet with From Text/CSV?

Microsoft's text and CSV import guide describes the steps, and the key detail is in the preview window: selecting Load sends the data directly to a new worksheet.

  1. Open the workbook that will hold all the tabs (a blank one is fine).
  2. On the Data tab, in the Get & Transform Data group, select From Text/CSV.
  3. Pick the first CSV and select Import.
  4. In the preview, check the delimiter. If dates or amounts look wrong, select Transform Data to fix them in Power Query first.
  5. Select Load. Excel adds a new sheet containing that file as a table.
  6. Repeat steps 2 to 5 for every remaining file.
  7. Rename each tab (double-click it) to something short like 2025-01 Checking.

The advantage over plain copy and paste is that each tab stays linked to its file. If your bank reissues the January export, overwrite the CSV in the same location and use Refresh All on the Data tab. The cost is that Excel remembers the full path, so moving the files breaks the links.

Method 2: Move or Copy for a few files

For three or four files you will never refresh, the manual route is quick:

  • Double-click the first CSV so it opens in Excel. A CSV always opens as a workbook with exactly one sheet, named after the file.
  • Open (or create) the workbook that will collect the tabs.
  • Switch back to the CSV window, right-click its sheet tab and choose Move or Copy.
  • In the dialog, choose the collecting workbook as the destination book, pick where the sheet should go, tick the option to create a copy, and confirm.
  • Close the CSV without saving and repeat for the next file.

Microsoft documents worksheet moving and copying in its Excel help center if the dialog looks different in your version.

Two cautions. First, once the sheet sits inside an .xlsx workbook it is no longer a CSV, so Excel's type guesses at open time are now baked in. Long account or reference numbers that Excel showed in scientific notation stay that way. Second, save the collecting workbook as .xlsx; saving it as CSV would keep only the active sheet.

Method 3: A VBA macro for a whole folder

When the folder holds a year of exports for several accounts, a macro saves a lot of clicking. Press Alt+F11 in the collecting workbook, insert a module, and paste:

Sub CsvFilesToTabs()
    Dim folderPath As String, fileName As String
    Dim target As Workbook, src As Workbook
    folderPath = "C:\Statements\2025\"
    Set target = ThisWorkbook
    Application.ScreenUpdating = False
    fileName = Dir(folderPath & "*.csv")
    Do While fileName <> ""
        Set src = Workbooks.Open(Filename:=folderPath & fileName, Local:=True)
        src.Worksheets(1).Copy After:=target.Sheets(target.Sheets.Count)
        src.Close SaveChanges:=False
        fileName = Dir()
    Loop
    Application.ScreenUpdating = True
End Sub

How it works, with the Microsoft reference for each call:

  • Dir returns the first matching file name, then each next one when called with no argument, until it returns an empty string.
  • Workbooks.Open opens the CSV as a one-sheet workbook. According to the Workbooks.Open reference, the Local argument set to True reads files using Excel's own language and regional settings instead of VBA's, which defaults to United States English. That matters when your exports use day-first dates or comma decimals.
  • Worksheet.Copy with After places the copy after the last sheet of the target. The Worksheet.Copy reference warns that if you give neither Before nor After, Excel creates a brand-new workbook instead, which is the usual reason a macro "does nothing" to the target.
  • The copied sheet keeps the name it had in the CSV workbook, which is the file name.

Save the collecting file as .xlsm if you want to keep the macro with it, or as .xlsx after running it once.

Sheet names and duplicates

Excel caps sheet names at 31 characters, so a file called Chase_Business_Checking_2025-03-statement.csv gets cut short, and two files that share their first 31 characters will collide. Rename files to a short pattern such as 2025-03-chk.csv before running the macro, and the tab names come out sorted and readable. Characters such as /, \, ?, *, [ and ] are not allowed in sheet names either.

Why not Power Query From Folder?

Power Query's folder connector is the right tool for a different outcome. Microsoft's article on importing a folder with multiple files describes combining files that share a schema "into one table", via Data > Get Data > From File > From Folder and then a Combine command. The result is one stacked table on one sheet. You can build per-file queries from that folder list in the Power Query Editor, but for tabs that is more work than Method 1.

Getting consistent CSV files to begin with

Tabs are only useful if each one has the same columns in the same order, so formulas and a summary sheet can treat them alike. Bank exports drift: one month calls the column Amount, the next splits it into Debit and Credit. If some of your months exist only as PDF statements, converting them gives you a uniform layout. QuickBankConvert's PDF to CSV page explains how it works: you upload the statement PDF you downloaded from your bank, the file is read on its servers, and every month comes back with the same date, description, category, amount and balance columns. The Excel download is available on a free account too, as described on the pricing page.

Once every tab has the same layout, a summary sheet can total them with a 3D reference such as =SUM('2025-01:2025-12'!D:D), which adds column D across every sheet from the first named tab to the last.

A quick summary-tab pattern

  1. Insert a sheet called Summary at the front.
  2. List each tab name in column A.
  3. In column B, use =SUM(INDIRECT("'"&A2&"'!D:D")) to total each month's amount column.
  4. Add a PivotTable later if you need category breakdowns; this pivot table walkthrough covers that step.

Frequently Asked Questions

Can Power Query put each CSV file on a separate sheet automatically?

Its From Folder command combines files into one table. To get separate sheets you load each file on its own, either with From Text/CSV per file or with separate queries, or you use a macro.

Why did my macro create a new workbook instead of adding tabs?

Worksheet.Copy without a Before or After argument copies the sheet into a new workbook. Add After:= pointing at the last sheet of the target workbook.

Can I save a workbook with several tabs as a CSV file?

No. CSV holds one sheet of plain text, so saving as CSV keeps only the active sheet. Save as .xlsx to keep every tab.

How do I stop Excel from mangling long numbers when combining CSV files?

Use From Text/CSV and set the column to text in Transform Data before loading. Opening a CSV by double-click lets Excel guess the type, and that guess is kept when you copy the sheet.

How many tabs can one workbook hold?

Excel does not set a small fixed limit on sheets; the practical ceiling is your computer's memory. A year of monthly exports for several accounts is well within normal use.

Ready to convert your bank statement?

Free to preview. No bank login. Results in about a minute.

Convert a statement