Try this...
Dim TargetMonth as Long
Dim TargetYear As Long
...................
TargetMonth = Month(Range("M1"). Value)
TargetYear = Year(Range("M1").Value)
..............
If Month(Cells(r.Row, 3).Value= TargetMonth And _
Year(Cells(r.Row, 3).Value = TargetYear Then
Note: You are saving nothing by Dim'ming variables as Integer... 32-bit
operating systems store Integers in the same space as Longs by default, so
there is no real good reason to limit your numbers (even if you won't reach
the limits of an Integer) by Dim'ming them as Integers.
--
Rick (MVP - Excel)
"tkraju via OfficeKB.com" <u16627@uwe wrote in message
news:94d99af52eabc@uwe...
One of code contains these lines:
Dim TargetMonth as Integer
..................
TargetMonth = Month(Range("M1"). Value)
.............
If(Month(Cells(r.Row,3).Value= TargetMonth Then
Value in cell M1 =Apr-09 ,the value is variable.The above code is
comparing
only month value of cell M1 value,thus I am getting results of Apr month
i.e
(Apr-07,Apr-08,Apr-09).
how to modify the above code ,to compare both month and year of cell M1
value.
--
Message posted via http://www.officekb.com