what does this mean?
if CDbl(Trim(Range(\"M\" & r).Text)) > 0# then...
what does the # do?? and what does cdbl do?
Visual Basic uses the pound sign (# ) to indicate double-precision values. So 0# enforces to treat this constant as of type double. CDbl converts expression to double type. * Double means double precision floating point.
0#
CDbl