Combine Multiple CSV Files Into One Workbook, Separate Tabs
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?
| Method | Best for | Refreshable | Skill needed |
|---|---|---|---|
| From Text/CSV, one load per file | 2 to 10 files you will update later | Yes, each tab is a query | None |
| Open each CSV, then Move or Copy | A one-off with a few files | No | None |
| VBA macro over a folder | 10 or more files, or a monthly routine | Rerun the macro | Paste and edit a macro |
| Power Query From Folder | Stacking all files into one sheet | Yes | None |
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.
- Open the workbook that will hold all the tabs (a blank one is fine).
- On the Data tab, in the Get & Transform Data group, select From Text/CSV.
- Pick the first CSV and select Import.
- In the preview, check the delimiter. If dates or amounts look wrong, select Transform Data to fix them in Power Query first.
- Select Load. Excel adds a new sheet containing that file as a table.
- Repeat steps 2 to 5 for every remaining file.
- 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 SubHow it works, with the Microsoft reference for each call:
Dirreturns the first matching file name, then each next one when called with no argument, until it returns an empty string.Workbooks.Openopens the CSV as a one-sheet workbook. According to the Workbooks.Open reference, theLocalargument 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.CopywithAfterplaces the copy after the last sheet of the target. The Worksheet.Copy reference warns that if you give neitherBeforenorAfter, 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
- Insert a sheet called
Summaryat the front. - List each tab name in column A.
- In column B, use
=SUM(INDIRECT("'"&A2&"'!D:D"))to total each month's amount column. - Add a PivotTable later if you need category breakdowns; this pivot table walkthrough covers that step.
Related guides
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