Try this code and change sheet name accordingly:
Code:Sub lm() Dim wbkNew As Workbook Dim strFileName As String Dim rngRange As Range Dim rngTemp As Range Dim rngFirst As Range Dim lngCount As Long strFileName = "CPC_Weekend_Work_" & Format(Now(), "DD-MMM-YYYY") & ".XLSX" strFileName = ThisWorkbook.Path & Application.PathSeparator & strFileName With ThisWorkbook.Worksheets("Sheet1") Set rngRange = .Range("K1") Set rngRange = .Range(rngRange, .Cells(.Rows.Count, rngRange.Column).End(xlUp)) End With Set wbkNew = Workbooks.Add With wbkNew.Worksheets("Sheet1") With rngRange lngCount = 0 Set rngTemp = .Find("Y", LookIn:=xlValues, LookAt:=xlWhole) If Not rngTemp Is Nothing Then Set rngFirst = rngTemp Do .Range("A1").Offset(lngCount).Value = rngTemp.Value lngCount = lngCount + 1 Set rngTemp = .FindNext(rngTemp) Loop While Not rngTemp Is Nothing And rngTemp.Address <> rngTemp.Address End If End With .SaveAs strFileName .Close End With Set wbkNew = Nothing strFileName = vbNullString Set rngRange = Nothing Set rngTemp = Nothing Set rngFirst = Nothing lngCount = Empty End Sub![]()




Reply With Quote
Bookmarks