Merge excel files into a single excel spreadsheet [VBA Tutorial]

by | April 7th, 2017

In a continuation Excel VBA tutorial series of data manipulation using Macros; Today, we will try to merge excel files in a single excel spreadsheet. The source of the data may be from the same worksheet or from the closed workbook.

Let’s learn how to merge excel files in a single excel with an example:

We will merge excel files into a single sheet. For example, individual states data are placed in different sheets. What we need to do is we need to make it a master file. For Example, your data look like below.

Merge multiple excel file into single excel sheet using VBA
There are almost 51 sheets in my sample workbook. Now if I give you this task to create a master file how long time will it take? Probably it will take almost 1 hour, right? And at the time it will be very tedious to do this as you need to create a new sheet and copy and paste the records in new sheet for one by one.

But at the same time, a small piece of VBA code as in below picture will give you immense benefit. For that, you don’t need to know how to write the VBA code. But you need to know where to place the VBA code and how to run VBA code.
In VBA Editor entered small piece of code on Merge excel files

Refer this small excel VBA code video tutorial to copy and run it

Here is the detailed process step by step.

  1. Press Alt + F11 to go to VBA page
  2. From the Menu choose insert – Module
  3. Copy and paste the below VBA code in the code window.
  4. Press F5 to run the code.

Copy VBA Code for merge excel files from below:

Sub Combine()

Dim J As Integer

On Error Resume Next



Sheets(1).Name = "Combined"



Selection.Copy Destination:=Sheets(1).Range("A1")

For J = 2 To Sheets.Count




Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select

Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)


End Sub

After running the code, you will see a new called “Combined” has been created and all the data from the other sheet is now merged into the combined sheet. And you combine sheet will look like below

After run th code you will see combined sheet created all data now merged into Merged excel files

It will take not more than 10 seconds to complete the entire tasks. Isn’t that interesting? That’s why a small piece of code will help you to go back home on time.

In the very next topic, we will cover how to merge excel files from the closed workbook.

Till then please download the Excel macro file from here and play with it.

If you are regularly following our blogs you will notice that we are trying to cover a lot of things to automate the process through VBA. Please follow the below links:

How to split Excel data into separate sheets using VBA? and How to split Excel data into separate workbooks using VBA?

Looking for Fre excel macro tutorial to get started? <– Click Here