如果AA = 0中的值,Excel宏将删除所有工作表上的所有行

时间:2014-06-17 22:04:24

标签: excel excel-vba vba

我有一张包含197张的工作簿。如果AA列中的值为零,我需要删除每个工作表中的所有行。有谁知道怎么做?

1 个答案:

答案 0 :(得分:1)

如果您希望删除每一行,当且仅当该行的列AA为零时,以下内容应该适合您。

Sub delete0rows()
    Dim Worksheet As Excel.Worksheet
    Dim lastRow As Long
    Dim i As Integer
    For Each Worksheet In Application.ThisWorkbook.Worksheets
        lastRow = Worksheet.Cells(Rows.Count, 1).End(xlUp).Row
        i = 1
        Do While i <= lastRow
            If Worksheet.Range("AA" & i).Value = 0 Then
                Worksheet.Rows(i).Delete
                i = i - 1
                lastRow = lastRow - 1
            End If
            i = i + 1
        Loop
    Next
End Sub

注意,如果AA中的单元格值为0,则只会删除该行。这里有几个细微之处......即使单元格值为“0”或“0”,Excel也会显示0,并且不会使用上面的代码删除这些行。