In my macro post #3 the column range is hard-coded B-K so needs some code adjustment to become dynamic.
This could be a solution with dynamic columns (but always with data starting from column B row 3):
Option Explicit
Sub ConsolidateSheets()
Dim mRow As Long
Dim mCol As Long
Dim sRow As Long
Dim sCol As Long
Dim x As Long
Application.ScreenUpdating = False
'clear Master sheet
With Sheets("Master")
mCol = .Cells(2, Columns.Count).End(xlToLeft).Column 'count used columns in Master
.Range(.Cells(3, "B"), .Cells(Rows.Count, mCol)).ClearContents
End With
'loop all sheets
For x = 1 To Worksheets.Count
With Sheets(x)
If .Name <> "Master" Then
'find last rows
sRow = .Range("B" & Rows.Count).End(xlUp).Row
sCol = .Cells(2, Columns.Count).End(xlToLeft).Column 'count used columns in Sheets
mRow = Sheets("Master").Range("B" & Rows.Count).End(xlUp).Row + 1
'copy/paste
.Range(.Cells(3, "B"), .Cells(sRow, sCol)).Copy Sheets("Master").Range("B" & mRow)
End If
End With
Next x
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Done!"
End Sub
Bookmarks