filmov
tv
How To Combine All Worksheets Into One Worksheet In Excel || Combine Multiple Sheets into One Sheet
Показать описание
How To Combine All Worksheets Into One Workbsheet In Excel || Combine Multiple Sheets into One Sheet
In this tutorial, let us learn how to combine multiple sheets into a single workbook using a simple VBA code.
This code assumes that all the worksheets have the same column headings and in the same order. This code will copy all the rows into one worksheet called Master.
Steps:
1. Copy the code as mentioned
Sub CopyFromWorksheets()
Dim wrk As Workbook 'Workbook object - Always good to work with object variables
Dim sht As Worksheet 'Object for handling worksheets in loop
Dim trg As Worksheet 'Master Worksheet
Dim rng As Range 'Range object
Dim colCount As Integer 'Column count in tables in the worksheets
Set wrk = ActiveWorkbook 'Working in active workbook
For Each sht In wrk.Worksheets
If sht.Name = "Master" Then
MsgBox "There is a worksheet called as 'Master'." & vbCrLf & _
"Please remove or rename this worksheet since 'Master' would be" & _
"the name of the result worksheet of this process.", vbOKOnly + vbExclamation, "Error"
Exit Sub
End If
Next sht
'We don't want screen updating
Application.ScreenUpdating = False
'Add new worksheet as the last worksheet
Set trg = wrk.Worksheets.Add(After:=wrk.Worksheets(wrk.Worksheets.Count))
'Rename the new worksheet
trg.Name = "Master"
'Get column headers from the first worksheet
'Column count first
Set sht = wrk.Worksheets(1)
colCount = sht.Cells(1, 255).End(xlToLeft).Column
'Now retrieve headers, no copy&paste needed
With trg.Cells(1, 1).Resize(1, colCount)
.Value = sht.Cells(1, 1).Resize(1, colCount).Value
'Set font as bold
.Font.Bold = True
End With
'We can start loop
For Each sht In wrk.Worksheets
'If worksheet in loop is the last one, stop execution (it is Master worksheet)
If sht.Index = wrk.Worksheets.Count Then
Exit For
End If
'Data range in worksheet - starts from second row as first rows are the header rows in all worksheets
Set rng = sht.Range(sht.Cells(2, 1), sht.Cells(65536, 1).End(xlUp).Resize(, colCount))
'Put data into the Master worksheet
trg.Cells(65536, 1).End(xlUp).Offset(1).Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value
Next sht
'Fit the columns in Master worksheet
trg.Columns.AutoFit
'Screen updating should be activated
Application.ScreenUpdating = True
End Sub
2. Open the workbook that contains worksheets you want to combine.
3. Press Alt+F11 or right click on any sheet tab and select view code, to open the Visual Basic Editor (VBE).
4. From the menu, choose Insert-Module and then paste the code into the code window at the right side.
5. Save the file and close the Visual Basic Editor.
6. Now, go back to the Excel workbook and go to view tab, under macors, select view macros and runt the CopyFromWorksheets macro.
7. You will observe that a new sheet called Master has been created which has collated all the data from the three sheets.
So friends, in this way one can combine or collate data from multiple worksheets/ tabs into a single worksheet.
If you found this video valuable, give it a like. If you know someone who needs to see it, share it. Leave a comment below with your thoughts. Add it to a playlist if you want to watch it later.
***********************************************
Tools that I use for Vlogging:
***********************************************
You Can Connect with Me at
Follow:
In this tutorial, let us learn how to combine multiple sheets into a single workbook using a simple VBA code.
This code assumes that all the worksheets have the same column headings and in the same order. This code will copy all the rows into one worksheet called Master.
Steps:
1. Copy the code as mentioned
Sub CopyFromWorksheets()
Dim wrk As Workbook 'Workbook object - Always good to work with object variables
Dim sht As Worksheet 'Object for handling worksheets in loop
Dim trg As Worksheet 'Master Worksheet
Dim rng As Range 'Range object
Dim colCount As Integer 'Column count in tables in the worksheets
Set wrk = ActiveWorkbook 'Working in active workbook
For Each sht In wrk.Worksheets
If sht.Name = "Master" Then
MsgBox "There is a worksheet called as 'Master'." & vbCrLf & _
"Please remove or rename this worksheet since 'Master' would be" & _
"the name of the result worksheet of this process.", vbOKOnly + vbExclamation, "Error"
Exit Sub
End If
Next sht
'We don't want screen updating
Application.ScreenUpdating = False
'Add new worksheet as the last worksheet
Set trg = wrk.Worksheets.Add(After:=wrk.Worksheets(wrk.Worksheets.Count))
'Rename the new worksheet
trg.Name = "Master"
'Get column headers from the first worksheet
'Column count first
Set sht = wrk.Worksheets(1)
colCount = sht.Cells(1, 255).End(xlToLeft).Column
'Now retrieve headers, no copy&paste needed
With trg.Cells(1, 1).Resize(1, colCount)
.Value = sht.Cells(1, 1).Resize(1, colCount).Value
'Set font as bold
.Font.Bold = True
End With
'We can start loop
For Each sht In wrk.Worksheets
'If worksheet in loop is the last one, stop execution (it is Master worksheet)
If sht.Index = wrk.Worksheets.Count Then
Exit For
End If
'Data range in worksheet - starts from second row as first rows are the header rows in all worksheets
Set rng = sht.Range(sht.Cells(2, 1), sht.Cells(65536, 1).End(xlUp).Resize(, colCount))
'Put data into the Master worksheet
trg.Cells(65536, 1).End(xlUp).Offset(1).Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value
Next sht
'Fit the columns in Master worksheet
trg.Columns.AutoFit
'Screen updating should be activated
Application.ScreenUpdating = True
End Sub
2. Open the workbook that contains worksheets you want to combine.
3. Press Alt+F11 or right click on any sheet tab and select view code, to open the Visual Basic Editor (VBE).
4. From the menu, choose Insert-Module and then paste the code into the code window at the right side.
5. Save the file and close the Visual Basic Editor.
6. Now, go back to the Excel workbook and go to view tab, under macors, select view macros and runt the CopyFromWorksheets macro.
7. You will observe that a new sheet called Master has been created which has collated all the data from the three sheets.
So friends, in this way one can combine or collate data from multiple worksheets/ tabs into a single worksheet.
If you found this video valuable, give it a like. If you know someone who needs to see it, share it. Leave a comment below with your thoughts. Add it to a playlist if you want to watch it later.
***********************************************
Tools that I use for Vlogging:
***********************************************
You Can Connect with Me at
Follow:
Комментарии