递减为每个循环 [英] Decrement in for each loop

查看:200
本文介绍了递减为每个循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我有这样的代码:

($)

Dim rng作为范围
Dim行作为范围
Dim cell作为范围

Set rng = Range(B1:F18)

对于每行rng.Rows
如果WorksheetFunction.CountA(row)= 0则
row.EntireRow。删除
'上一行
结束如果
下一行

结束小组

我想退回评论声明。是否有可能?

解决方案

否。



您必须使用 For ... Next 循环并向后退出:

  Dim i As Long 
For i = rng.Rows.Count To 1 Step -1
Set row = rng.Rows(i)
如果WorksheetFunction.CountA(row)= 0那么
row.EntireRow.Delete
'Previous row
End If
Next i


Is it possible to decrement in For each loop in VBA for Excel?

I have code like this:

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

And I want to step back in commented statement. Is it possible?

解决方案

No.

You have to use a For...Next loop and step backwards:

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

这篇关于递减为每个循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆