【发布时间】:2017-01-11 19:02:57
【问题描述】:
我在使用下面的Application.WorksheetFunction.CountIfs 代码时遇到以下问题。
当我做countifs 让它看起来并计数“TER”这个词时,它起作用了。
当我在日期之间进行计数时,它会起作用。
当我把我所说的论点放在一起时,它只是在日期之间计算,就像计数忽略了我想在列中计算单词 TER 的论点。 我研究了很多,找不到有用的东西。已经尝试在 ""TER"" 中加上两个引号。
谢谢。
Dim TerminPerio As Integer, IniRAM As Date, FimRAM As Date
Dim NecessTOT As Integer
IniRAM = #12/1/2016#
FimRAM = #12/31/2016#
NecessTOT = Application.WorksheetFunction.CountIfs(Range("L:L"), "TER", Range("I:I"), ">=" & CDbl(IniRAM), Range("I:I"), "<=" & CDbl(FimRAM))
'NecessTOT = Application.WorksheetFunction.CountIfs(Range("L:L"), "TER")
'NecessTOT = Application.WorksheetFunction.CountIfs(Range("I:I"), ">=" & CDbl(IniRAM), Range("I:I"), "<=" & CDbl(FimRAM))
MsgBox (CStr(NecessTOT))
End Sub
【问题讨论】:
-
你的意思是你的解决方案还计算日期匹配但不匹配
L:L范围内的条件的行?我放了你的代码,对我来说它工作正常。您是否在 Excel 工作表中复制了相同的功能?如果是,结果是否正确或与 VBA 中的结果相同? -
两个日期之间的所有值是否在 L 列中也有“TER”?如果是这样,那么显然答案将与您仅计算两个日期之间的行数相同。只有当 L 列中有一些非“TER”值时,答案才会减少。