我的Application.WorksheetFunction.CountIfs
代码发生了以下问题。
当我做那些使它看起来并计入“TER”这个词的时候,它就可以了。
当我在日期之间进行清算时,它会起作用。
当我把我说的论点放在一起时,它只是在日期之间计算,就像countifs忽略了我想要计算列中的单词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
答案 0 :(得分:0)
感谢大家的帮助。 我的解决方案是做其他事情: 简而言之,为了获得我想要的结果,我对列进行了一些连续的自动过滤,复制了受影响的行,并使用另一个命令行对寄存器的数量进行了计数。
示例:
Selection.AutoFilter
ActiveSheet.Range("$L$1:$L" & LR).AutoFilter Field:=27, Criteria1:=CStr(MESRAM)
ActiveSheet.Range("$AK$1:$AK" & LR).AutoFilter Field:=28, Criteria1:=CStr(ANORAM)
ActiveSheet.Range("$AE$1:$AE" & LR).AutoFilter Field:=29, Criteria1:=CStr(MESRAM)
LR = Cells(Rows.Count, "A").End(xlUp).Row