If I'm understanding your data source, you have my sympathy. It sounds like you get data from all sorts of sources from manual entry to datalogger entry with no control on your part of how the folks capture the data. People that say "just put in an input screen" don't understand.
I've done that sort of thing (just this week actually) and while I'm quite comfortable writing VBA, the patterns are too distributed for a program to help much (i.e., out of a million records across 2000 sheets there are 100,000 errors, but no single error occurs more than 100 times, faster to edit it than write a program).
I always start by making a copy (because most of the time I have to abandon some non-trivial number of attempts). Then I use "sort" liberally to try to group particular errors for repair. The easy stuff is "o" for "0" in a field that is only numbers. You can use "replace" for that. The impossible stuff is knowing if "02/04/2012" is Feb 4 or March 2. Everything else is somewhere in between.
Often it is useful to dump all the spreadsheets into Access (with all of the fields "text") and use the Access sorting and screening tools. They are much more powerful and you don't risk sorting a field without sorting the identification data (we've all ignored the warnings in Excel).
Good luck and try to stay awake while doing this horrible, mindless task (it really sucks to introduce a bunch of new errors by doing a face plant in the keyboard).
David