VBA Loop through multiple sheets to output formulas in multiple columns
A couple of tips.

When using With, make sure that you correctly reference the subordinate lines. Check the following example.

With Range("KA1").Offset(i1 - 1, 0) '&lt;--- You have ...
With .Range("KA1").Offset(i1 - 1, 0) ' ... should be


Consider using FillDown or some similar command to do bulk edits. This will save looping, especially the loop that flips between the VBA engine and the Excel engine (which is expensive time-wise). Normally I suggest using arrays, but your use of formula suggests this other way.

The following example has not been tested. 

Dim formulaOneRange as Range
    Set formulaOneRange = .Range("KA25:KA" &amp; lastRow)
    With formulaOneRange
        .Formula = "=IF(SUMIF(RRSData!$A$2:$O$10000,OFFSET($KA$1,CELL(""row"",THIS),-285),RRSData!$M$2:$M$10000)&gt;0,SUMIF(RRSData!$A$2:$O$10000,OFFSET($KA$1,CELL(""row"",THIS),-285),RRSData!$M$2:$M$10000),"""")"
        .NumberFormat = "0.00"
        .Value = .Value
    End With
    Set formulaOneRange = .Range("KB25:KB" &amp; lastRow)
    With formulaOneRange
        .FormulaR1C1 = "=IF(RC[-1]="""","""",If(RC[-1]&gt;1.1,""High"",If(RC[-1]&lt;0.8,""Low"",""Neutral"")))"
        .Value = .Value
    End With
    Set formulaOneRange = .Range("KC25:KC" &amp; lastRow)
    With formulaOneRange
        .FormulaR1C1 = "=IF(RC[-1]="""","""",If(RC[-1]&gt;1.1,""High"",If(RC[-1]&lt;0.8,""Low"",""Neutral"")))"
        .Value = .Value
    End With


Of course, the code could be tidies up a bit as per below, but I thought the extra lines will show my thinking a bit more clearly.

' My example code above ... 
Set formulaOneRange = .Range("KC25:KC" &amp; lastRow)
With formulaOneRange

' Could be ....
With .Range("KC25:KC" &amp; lastRow)


Also, defining the range in an easy to manage variable would assist if you wanted to use FillDown or do some other manipulation within each section.