我现在的代码看起来像这样
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