Hi Stan,
Welcome to ExcelFox !!
I don't think it's possible. I might be wrong though.
You could try this, which uses less loop
Code:
Sub ChangeRows()
Dim AH, a As Long, aa As Long
Dim r As Range, ka() As String, k As String, n As Long
With Range("a1")
AH = .CurrentRegion.Resize(, 8)
Set r = .Cells(1, 2).Resize(.CurrentRegion.Rows.Count, 7)
End With
For a = LBound(AH) To UBound(AH)
If AH(a, 1) = "DEF" Or AH(a, 1) = "GHI" Then
n = n + 1
ReDim Preserve ka(1 To n)
ka(n) = a
End If
Next a
Cells.Cells(1).CurrentRegion.Resize(, 8) = AH
If n Then
With r
For a = 1 To n
.Rows(ka(a)).Value = 0
Next
End With
End If
End Sub
Bookmarks