Mallick,
Straight from XL2003 Help on intersect:
Returns a Range object that represents the rectangular intersection of two
or more ranges.
Step through the code on this to see what Intersect actually returns:
http://www.excely.com/excel-vba/using-intersection-to-create-a-range/
In the code below, Target is the cell that just changed. So,
Application.Intersect(Target, Range("myRange")) is checking whether the just
changed cell falls within the named range, myrange. If the cells intersect,
it returns and address. If not, it doesn't return anything. The double
negatives are a bit of a brain-stretcher. Think of "If Not isect Is Nothing"
as 'if isect has a value'. Alternatively, you could use the following
method:
If isect Is Nothing Then
'do nothing
Else
'code if ranges intersect
End IF
You don't need to use a named range (e.g. you could use
Application.Intersect(Target, Range("A1:B16")). However, a named range
offers advantages. The main advantage being if the target address range
changes, you don't need to open your VBA module and search for relevant
pieces of code to alter. You just need to update the named range. Taking it
to the next step, if you use a dynamic named range, you don't need to do
anything.
If my explanation was clumsy:
http://www.ozgrid.com/VBA/vba-intersect.htm
I trust Gord solved the balance of your problem.