2014-09-10 4 views
0

Можно ли уменьшать значение для каждого цикла в VBA для Excel?Уменьшение для каждого цикла

У меня есть такой код:

Sub Makro1() 

Dim rng As Range 
Dim row As Range 
Dim cell As Range 

Set rng = Range("B1:F18") 

For Each row In rng.Rows 
    If WorksheetFunction.CountA(row) = 0 Then 
     row.EntireRow.Delete 
     'Previous row 
    End If 
Next row 

End Sub 

И я хочу сделать шаг назад в комментировал заявление. Является ли это возможным?

+0

Почему бы не использовать обычный цикл, где вы могли бы modifiy курсор так, как вы хотите? –

+0

Вы не можете. Вы должны использовать цикл 'For ... Next' вместо этого, как @ X.L.Ant, и цикл назад. – Rory

+0

ОК. я изменю его. благодаря! –

ответ

6

No.

Вы должны использовать For...Next петлю и шаг назад:

Dim i As Long 
For i = rng.Rows.Count To 1 Step -1 
    Set row = rng.Rows(i) 
    If WorksheetFunction.CountA(row) = 0 Then 
     row.EntireRow.Delete 
     'Previous row 
    End If 
Next i 
Смежные вопросы