2017-02-02 198 views
1

我是VBA的新手,并且已经使用VBA记录器逆向工程VBA。然而,我在为所有包含值“TT”的单元格创建一个CountIfs()循环时出现问题,无论是整列还是单列的动态范围(使用.end(xldown)/ .end(xlup))VBA CountIf()循环/ Countifs()循环

我会发布我的代码,但说实话,我发现这个问题有很多不同的'答案',我还没有能够模拟到我的用例,我不认为我与任何单独的方法非常接近。 (最终我需要扩大这是基于其他列值CountIfS(),但一次一步)...

谢谢!

回答

1

什么这个简单的代码---

Sub vbaCountIF() 
    Dim Rslt 
    Rslt = WorksheetFunction.CountIfs(Range("A:A"), "TT") 
    MsgBox Rslt 
End Sub 
+0

使用'其他列values',并通过他们的标准来代替'“TT”' – harun24hr

+0

SWEET的循环!有用。我可能从一开始就推翻了它。如果我想添加额外的标准,那么countifs的语法是什么? –

+0

@ReedTurgeon如果它适合您,您应该给出答案(勾选绿色)。对于更多的条件,你必须添加'Range'和'Criteria',就像'Rslt = WorksheetFunction.CountIfs(Range(“A:A”),“TT”,Range(“B:B”),“Hello”)' – harun24hr