我有一个If
条件,用于检查ID号,开始日期和结束日期。对于这个条件,我想添加一个字符串比较,检查两个不同列中的True或False值。我想知道我可以为此做另一个application.worksheetfunction.countif
吗?
If Application.WorksheetFunction.CountIf(completed.Range(COLUMN_A_IN_COMPLETE & iTotRecsD), Val2) > 0 _
And Application.WorksheetFunction.CountIf(completed.Range(COLUMN_B_IN_COMPLETE & iTotRecsB), Val1) > 0 _
And Application.WorksheetFunction.CountIf(completed.Range(COLUMN_C_IN_COMPLETE & iTotRecsE), Val3) > 0 _
And (StrComp(Val4, Val5) = 0) Then
即使值完全相同,此代码也会正常运行。
编辑* Val4是worksheet2.Cells(第2行,第4列) Val5是worksheet1.Cells(第2行,第4列)
And Application.WorksheetFunction.CountIf(completed.Range(COLUMN_D_IN_COMPLETE & iTotRecsF), Val4) > 0 Then
对于字符串比较似乎没有用,我想知道为什么?
答案 0 :(得分:0)
不是使用多个countIf,而是使用单个countIf来完成工作。
If (Application.WorksheetFunction.CountIfs(completed.Range(COLUMN_A_IN_COMPLETE & iTotRecsD), Val2, _
completed.Range(COLUMN_B_IN_COMPLETE & iTotRecsB), Val1, _
completed.Range(COLUMN_C_IN_COMPLETE & iTotRecsE), Val3, _
completed.Range(COLUMN_D_IN_COMPLETE & iTotRecsF), Val4)) > 0 Then
现在有效。 :)