Wednesday, July 8, 2015

Merge all worksheets of active workbook into one worksheet with VBA code


VBA Code to merge excel worksheets:
1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.

Sub Combine()
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub

Notes:
(1) Your data must start from A1, if not, the code will not take effect.
(2) Your data must have the same structure.
(3) This code only can combine all worksheets of the active workbook, if you want to merge worksheets from multiple workbooks, this code will not work.