try replacing your filterme macro with:ps. if this is an assignment/homework your tutor (Trevor?) will probably suspect this is not your own work!Sub Filterme() Dim xx As Range ' Macro4 Macro Set OrigSelection = Selection On Error Resume Next Set xx = Range("C6:G6").SpecialCells(xlCellTypeConstants, 3) On Error GoTo 0 If Not xx Is Nothing Then colmCount = xx.Cells.Count Set xx = Union(xx, xx.Offset(-1)) Range("M5:Q6").ClearContents xx.Copy Range("M5").PasteSpecial Paste:=xlPasteValues OrigSelection.Select For Each cll In Range("M5").Resize(, colmCount) If InStr(1, cll.Value, "date", vbTextCompare) > 0 Then If InStr(1, cll.Value, "start", vbTextCompare) > 0 Then a = ">=" Else a = "<=" cll.Value = "Date" cll.Offset(1).Value = a & CLng(cll.Offset(1).Value) End If Next cll Set CritRng = Range("M5").Resize(2, colmCount) Sheet2.Range("D4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=CritRng, CopyToRange:=Sheet1.Range("C8:I8"), Unique:=False Else MsgBox "no filter criteria" End If End Sub