Loop whose endpoint (?) change during the loop
It's generally not a good idea to alter the iterator variable in a for/next loop.  While your code works, it's just not a good practice.  Also, your initializing i to 8 is redundant since your loop starts at 8 as well.  Here's how I would handle it:

Sub AddRows()

    Dim i As Integer
    Dim LastRow As Integer
    Dim counter As Integer

    LastRow = Cells(8, 2).End(xlDown).Row
    counter = 8

    For i = counter To LastRow
        If Cells(counter, 1) &lt;&gt; "" Then
            counter = counter + 1
            Range(counter &amp; ":" &amp; counter).Insert CopyOrigin:=xlFormatFromRightOrBelow
        End If
        counter = counter + 1
    Next i

End Sub