Excel sheet_merger
Sub SheetMerger() Dim objCol As Collection Dim Sht As Worksheet Dim newSht As Worksheet Dim Rng As Range Dim PT As Range Dim theName As Name On Error Resume Next Application.DisplayAlerts = False For Each theName In ThisWorkbook.Names theName.Delete Next Worksheets("AllData").Delete Application.DisplayAlerts = True On Error GoTo 0 Set objCol = New Collection For Each Sht In ThisWorkbook.Worksheets For Each Rng In Sht.Range(Sht.[a1], Sht.[a1].End(xlToRight)) On Error Resume Next If Rng <> "" Then objCol.Add Rng, CStr(Rng.Value) ...