Excel VisualBasic Script

Sub ArrayFillRange()
    Dim TempArray() As Integer
    Dim TheRange As range
    CellsDown = 3
    CellsAcross = 4
    StartTime = timer
    ReDim TempArray(1 To CellsDown, 1 To CellsAcross)
    Set TheRange = ActiveCell.range(Cells(1, 1), Cells(CellsDown, CellsAcross))
    CurrVal = 0
    Application.ScreenUpdating = False
    For I = 1 To CellsDown
        For J = 1 To CellsAcross
            TempArray(I, J) = CurrVal + 1
            CurrVal = CurrVal + 1
        Next J
    Next I
    TheRange.value = TempArray
    Application.ScreenUpdating = True
    MsgBox Format(timer - StartTime, "00.00") & " seconds"
End Sub