i also worked out this code but it creates the workbooks but somehow some of the data is missing on those created workbooks
Code:Sub DistributeRowsToNewWBS() Dim wbNew As Workbook Dim wsData As Worksheet Dim wsCrit As Worksheet Dim wsNew As Worksheet Dim rngCrit As Range Dim LastRow As Long Set wsData = Worksheets("Expenditure_Details") ' name of worksheet with the data Set wsCrit = Worksheets.Add LastRow = wsData.Range("A" & Rows.Count).End(xlUp).Row ' column H has the criteria wsData.Range("p1:p" & LastRow).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wsCrit.Range("A1"), Unique:=True Set rngCrit = wsCrit.Range("A2") While rngCrit.Value <> "" Set wsNew = Worksheets.Add ' change E to reflect columns to copy wsData.Range("A1:bp" & LastRow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rngCrit.Offset(-1).Resize(2), CopyToRange:=wsNew.Range("A1"), Unique:=True wsNew.Name = rngCrit wsNew.Copy Set wbNew = ActiveWorkbook ' saves new workbook in path of existing workbook wbNew.SaveAs ThisWorkbook.Path & "\" & rngCrit wbNew.Close SaveChanges:=True Application.DisplayAlerts = False wsNew.Delete rngCrit.EntireRow.Delete Set rngCrit = wsCrit.Range("A2") Wend wsCrit.Delete Application.DisplayAlerts = True End Sub




Reply With Quote
Bookmarks