If you are going to use an object more than once, declare and use object variables rather than using a fully qualified object reference each time. For instance, in the following example the FillCells2 procedure runs approximately three times as fast as the FillCells1 procedure. This is because the VBA engine doesn't have to resolve the entire object reference each time it runs through the loop.
Sub FillCells1()
Dim iCount As Integer
For iCount = 1 To 1000
ActiveWorkbook.Worksheets("Sheet1").Range("a1") _
.Offset(iCount, 0).Value = iCount
Next iCount
End Sub
Sub FillCells2()
Dim iCount As Integer
Dim oRange As Range
Set oRange = ActiveWorkbook.Worksheets("Sheet1") _
.Range("a1")
For iCount = 1 To 1000
oRange.Offset(iCount, 0).Value = iCount
Next iCount
End Sub