what does this mean?
if CDbl(Trim(Range(\"M\" & r).Text)) > 0# then...
what does the # do?? and what does cdbl do?
CDbl casts the contents to a double value. The # indicates it's a numeric double value. VB and VBA are sometimes quite forgiving when you're dealing with numbers, which can prove to be dangerous!