あなたがしようとしていることを誤解していたので、私の前の発言は間違っていました。以下は、範囲をループする例です。条件を満たすと、ループ内の現在の行の下に行が挿入されます。挿入された行をスキップするにはブール値が必要です。
Sub InsertAfterLastRow()
Dim Rng As Range
Set Rng = Range("A1:B5") 'Arbritrary
Dim LastRow As Long
Dim InsertRow As Long
Dim Inserted As Boolean
Dim NewRow As Range
Inserted = False
For Each Row In Rng.Rows
If Inserted = False Then
If Row.Cells(1, 1).Value = "Yes" Then
Rows(Row.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Set NewRow = Range(Row.Row + 1 & ":" & Row.Row + 1)
NewRow.Cells(1, 1).Value = "Inserted"
Inserted = True
Else
Row.Cells(1, 1).Value = "No"
End If
Else
'Avoid a double insert, skipping a row
Inserted = False
End If
Next
End Sub