Hello All,
I am experiencing a problem with some code I am using to filter a spread sheet by Date range and by another criteria. The code works great for the main part but I am hitting a serious problem when there are no active rows i.e. there are no cells in the date range. When this happens instead of not copy any rows over to my other sheet within the same workbook, it pastes ALL the rows from the Raw Data. I tried using an if statement to say if rng <> "" then carry on with code else msg box "No data to copy" but I cant get this to work. Any ideas?
gratefully appreciate any help. Thank you.Code:Sub Jan() ' ******************* January KPI *************************************** Dim Jan As Date Dim Feb As Date Dim rng As Range Set rng = ActiveSheet.AutoFilter.Range Jan = #1/1/2012# Feb = #1/2/2012# ' Filter rows to January sailings only Range("K5").Select Selection.AutoFilter Selection.AutoFilter field:=11, Criteria1:=">=" & Jan, Operator:=xlAnd, _ Criteria2:="<" & Feb, Operator:=xlAnd ' Filter rows to HKG to Kotka only Selection.AutoFilter field:=14, Criteria1:="Hong Kong" Selection.AutoFilter field:=15, Criteria1:="Kotka" 'Select sheet "HKG to Kotka and clear old data Sheets("HKG to Kotka").Select Range("A11:W40").ClearContents ActiveWindow.ScrollColumn = 1 ActiveWindow.ScrollRow = 1 'Go back to Raw Data sheet Sheets("Raw Data").Select 'Copy the active rows to HK to Kotka sheet rng.Offset(1, 0).Resize(rng.Rows.Count - 1).Copy _ Destination:=Worksheets("HKG to Kotka").Range("A11") 'Filter to Show All ActiveSheet.ShowAllData




Reply With Quote

Bookmarks