View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Jacob Skaria Jacob Skaria is offline
external usenet poster
 
Posts: 8,520
Default Search multiple columns

Hi Kash

Try the below macro. When you say 'date less then 3 months' I assume the
dates from 1st Feb'10 to current date will be considered when you run this
today...IF not adjust that part to suit...

Sub Macro()

Dim ws1 As Worksheet, ws2 As Worksheet
Dim varFound As Variant, varSearch As Variant
Dim strAddress As String, lngLastRow As Long

Set ws1 = Sheets("Data")
Set ws2 = Sheets("Search")

varSearch = "Test"
With ws1.Range("F1:F" & ws1.Cells(Rows.Count, "F").End(xlUp).Row)
Set varFound = .Find(varSearch, LookIn:=xlValues, LookAt:=xlWhole)
If Not varFound Is Nothing Then
strAddress = varFound.Address
Do
If ws1.Range("J" & varFound.Row) = "Final" And _
DateDiff("m", ws1.Range("I" & varFound.Row), Date) < 3 And _
ws1.Range("I" & varFound.Row) <= Date Then
lngLastRow = ws2.Cells(Rows.Count, "F").End(xlUp).Row + 1
ws1.Rows(varFound.Row).Copy ws2.Rows(lngLastRow)
End If
Set varFound = .FindNext(varFound)
Loop While Not varFound Is Nothing And _
varFound.Address < strAddress
End If
End With

End Sub

--
Jacob (MVP - Excel)


"Kash" wrote:

I was try to get the rows that matches below criteria, to sheet 'Search'

'Test' in column F of Sheet 'Data' and
'Final' in column J of Sheet 'Data' and
date less than 3 months which should be taken from column I Sheet 'Data'

Can anyone help me on this please..?