One option is to do it in one line:
Sheets("Sheet1").Range("A1:Z9").copy Sheets("Sheet2").Range("A1")
In general, working with the Active Sheet (using Range("a1") without specifying the sheet) or using the active Selection can lead to problems since the starting state is not known or controlled.