如果= 值,然后

如果= 值,然后

我现在的代码看起来像这样

For i = 1 To Rows.Count
    If (Cells(i, 24) = "Y" And Cells(i, 25) = "Y" And Cells(i, 40) = "Y") Then
            sum = sum + 1
    End If
End If
Next

我想通过执行以下操作使 If 语句更加紧凑:

For i = 1 To Rows.Count
    If (Cells(i, 24) And Cells(i, 25) And Cells(i, 40)) = "Y") Then
            sum = sum + 1
    End If
End If
Next

但这不起作用。

是否有更紧凑的形式来编写此 If 语句,或者我只能使用第一个版本?

答案1

压缩 If 语句的一种方法:

For i = 1 To ActiveSheet.UsedRange.Rows.Count

    Sum = Sum + Abs(Cells(i, 24) & Cells(i, 25) & Cells(i, 40) = "YYY")

Next

此外,您的代码存在性能问题:Rows.Count= 100 万+行

您只能循环遍历已使用的行:ActiveSheet.UsedRange.Rows.Count

相关内容