@p45cal;
Not using Excel functions in VBA seems to be always faster.
Since you sum all values per 'row' you could try to reduce the code to:
Basically:If colm > 1 Then With Application mysum = .Sum(.Index(resultsAry, rw)) End With End If
Sub M_snb() sn = Sheet1.Cells(1).CurrentRegion For j = 1 To UBound(sn) MsgBox Application.Sum(Application.Index(sn, j)) Next End Sub