Ron de Bruin has lots of code on his site that will deal with merging data from different sheets, different workbooks etc.
try starting here
http://www.rondebruin.nl/copy2.htm
You will also find code for sending files by email.
As far as checking whether all columns have been filled on each row, you could have a a hidden column with a checksum in it.
For example, if you were expecting users to complete columns A through M, then in column N have
=IF(COUNTA(A2:M2)<13,"Incomplete","Complete")
Then use Conditional formatting for the the whole data area A1:Mxxx with a Formula of =$N1="Incomplete" and set the format to Red
Each row will remain Red until the user has completed all of their entries
Regards
Roger Govier
Microsoft Excel MVP