Why doesn't this code work?

Sub delete()
Dim r As Integer
r = Sheets("DO").Range("A65536").End(xlUp).Row
Worksheets("sheet1").Range(Cells(4, 1), Cells(r, 145)).ClearContents
End Sub
But this code works:
Sub delete()
Dim r As Integer
r = Sheets("DO").Range("A65536").End(xlUp).Row
Worksheets("sheet1").select
Range(Cells(4, 1), Cells(r, 145)).select
Selection.ClearContents
End Sub
Thanks.

Also, if I do have to use the bottom code, is there a way of "unselecting" the range after it's been cleared? Without then selecting A1...