Sub Add_Sheets_From_Col()Range("XA1") = ActiveSheet.NameActiveSheet.Name = ("Add_Sheets") [COLOR=#ff0000]Dim myRangecol As Range Set myRangecol = Application.InputBox(Prompt:= _ "Please Select a Column example for column A = A:A", _ Title:="InputBox Method", Type:=8) If myRangecol Is Nothing Then ' Range is blank Else myRangecol.Select[/COLOR] [COLOR=#ff0000] End If[/COLOR][COLOR=#800080]Const cl& = 1[/COLOR][COLOR=#00ff00] [/COLOR]Dim a As Variant, x As Worksheet, sh As WorksheetDim rws&, cls&, p&, I&, rr&, b As BooleanApplication.ScreenUpdating = False'ActiveSheet.ActivateSheets("Add_Sheets").Activaterws = Cells.Find("*", , , , xlByRows, xlPrevious).Rowcls = Cells.Find("*", , , , xlByColumns, xlPrevious).ColumnSet x = Sheets.Add(after:=Sheets("Add_Sheets"))'Set x = Sheets.AddSheets("Add_Sheets").Cells(1).Resize(rws, cls).Copy x.Cells(1)'ActiveSheet.Cells(1).Resize(rws, cls).Copy x.Cells(1)Set a = x.Cells(1).Resize(rws, cls)a.Sort a(1, cl), 2, Header:=xlYesa = a.Resize(rws + 1) p = 2 For I = p To rws + 1 If a(I, cl) <> a(p, cl) Then b = False For Each sh In Worksheets If sh.Name = a(p, cl) Then b = True: Exit For Next If Not b Then 'Sheets.Add.Name = a(p, cl) Sheets.Add.Name = a(p, cl) With Sheets(a(p, cl)) x.Cells(1).Resize(, cls).Copy .Cells(1) rr = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1 x.Cells(p, 1).Resize(I - p, cls).Cut .Cells(rr, 1) End With End If p = I End If Next IApplication.DisplayAlerts = False x.DeleteApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueSheets("Add_Sheets").SelectActiveSheet.Name = [XA1]Range("XA1").ClearContentsRange("A1").Select'Sheets("Bin_Qty_Off_Line").Activate'Range("G1").SelectEnd Sub</PRE>