Acho que o problema está nas suas declarações For . No momento, o valor de r percorre { G1 , G2 , ..., G10 } e, em seguida, { H1 , ..., H10 } e todo o caminho até { SF1 , ... SF10 }. Parece que você quer percorrer todas as células em L7:L500 , então por que não fazer isso diretamente?
Dim r As Range
For Each r In Range("L7:L500")
If IsError(r) Then
If r >= 0 Then r.Offset(, -1).Resize(, -8).ClearContents
End If
Next