|First, before posting any more code in this forum, please click on the blue line at the end of this post and read the instructions found via that link.|
Second, the reason you are getting that error is because you are referencing a row that doesn't exist in the spreadsheet. Let's say there are 65,535 rows in a spreadsheet. Range("A7" & Rows.Count) will convert to Range("A765,535") which would be illegal.
The correct syntax is Range("A" & Rows.Count) which will refer to the last row in any spreadsheet, whether it's Excel 2003, 2007 or 2010.
Finally, if you want to learn how to debug VBA code, start here:
Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.