删除行,除非它们包含值> 100

时间:2017-03-17 12:32:43

标签: excel-vba vba excel

我有一个包含数据列的工作表。我试图删除该行中所有值都小于100的任何行。

这是我到目前为止所做的:

Sub deleterows()
    Dim lRow As Long
    Dim iCntr As Long
    lRow = 900
    For iCntr = lRow To 1 Step -1
        If Cells(iCntr, 1) < 100 Then
            Rows(iCntr).Delete
        End If
    Next
End Sub

不幸的是,这只会在第一列中查找并删除其他列中存在大于100的值的行。有人可以帮我看看所有专栏吗?

1 个答案:

答案 0 :(得分:3)

您应该能够查看给定行中的最大值,编辑代码,查看我的注释以获取详细信息。

Sub deleterows()
    Dim lRow As Long
    Dim iCntr As Long
    lRow = 900
    For iCntr = lRow To 1 Step -1
        ' Check if the maximum value in the columns A:F is less than 100
        ' If it is, then all of the values are!
        If Application.WorksheetFunction.Max(ActiveSheet.Range("A" & iCntr & ":F" & iCntr)) < 100 Then
            Rows(iCntr).Delete
        End If
    Next
End Sub

当然,您可以将“F”更改为您希望的任何字母。