excel-vba 删除循环中的行或列

示例

如果要删除循环中的行(或列),则应始终从范围的末尾开始循环并在每一步中都移回。如果使用代码:

Dim i As Long

With Workbooks("Book1").Worksheets("Sheet1")

    For i = 1 To 4

        If IsEmpty(.Cells(i, 1)) Then .Rows(i).Delete

    Next i

End With

您会错过一些行。例如,如果代码删除了第3行,则第4行变为第3行。但是,变量i将更改为4。因此,在这种情况下,代码将丢失一行并检查另一行,而该行以前不在范围内。

正确的代码是

Dim i As Long

With Workbooks("Book1").Worksheets("Sheet1")

    For i = 4 To 1 Step -1

        If IsEmpty(.Cells(i, 1)) Then .Rows(i).Delete

    Next i

End With

           

以上是 excel-vba 删除循环中的行或列 的全部内容, 来源链接: utcz.com/z/326284.html

回到顶部