Countif与预定义的值

时间:2015-06-26 18:09:02

标签: excel-vba vba excel

我希望使用countifs()来帮助缩小我的计数参数,尽管我无法根据代码中的上述内容设置参数。

我有一年的用户输入和一个月的用户输入;我想在我的countifs声明中使用这个输入,虽然我没有这样的运气。

为了进行健全性检查,我输入了具体的月份和年份值,并且能够得到正确答案。

以下是代码:

Sub Investigations()

'Return to Overview sheet before running as non-subsequent columns may receive output if viewing another sheet
Sheets("Overview").Select

'Define year and month
Dim zYear As Integer
    zYear = InputBox("Year (yyyy)")
Dim zMonth As Integer
    zMonth = InputBox("Month (mm)")

'Define zYear and zMonth on the spreadsheet so it can be referenced
Sheets("Investigations").Range("L1").Value = zYear
Sheets("Investigations").Range("M1").Value = zMonth

'Count of total minor investigations
Dim LastCol1 As Long
LastCol1 = Range("A12").End(xlToRight).Column
Sheets("Overview").Cells(12, LastCol1 + 1).Formula = "=countif(Investigations!H:H,""Low"")"

'Define and count minor investigations closed on time (<31 days), in the pre-defined year and month
Dim LastRow As Integer
LastRow = Range("A2").End(xlDown).Row
Sheets("Investigations").Range("I1").Formula = "Time to Close (Days)"
Sheets("Investigations").Range("I2:I" & LastRow).Formula = "=if(F2>0,abs(F2-E2),""N/A"")"
Sheets("Investigations").Range("J1").Formula = "Month of Closure"
Sheets("Investigations").Range("J2:J" & LastRow).Formula = "=if(F2>0,month(F2),""N/A"")"
Sheets("Investigations").Range("K1").Formula = "Closed in Defined Month"
Sheets("Investigations").Range("K2:K" & LastRow).Formula = "=IF(J2=$M$1,TRUE,FALSE)"

'Count of closed minor investigation in pre-defined year and month
Sheets("Overview").Cells(13, LastCol1 + 1).Formula = "=COUNTIFS(Investigations!H:H,""Low"",Investigations!I:I,""<31"",Investigations!K:K,""True"")"


End Sub

任何帮助将不胜感激。提前谢谢!

EDIT1:

此处没有错误消息。运行代码时,计数返回零。完整性检查返回38项(从&gt; 8k行中删除)。我的问题是我不知道如何在我的countif中适当地引用zMonth和zRange,因为它们实际上并不存在于任何工作表上,只是在代码中。

EDIT2:

更新了我的调查表中定义zMonth和zYear​​的代码。现在我有一个比较列,所以我可以避免尝试在countif中调用代码。仍然有问题让这个工作;我的理智检查(在调查选项卡上完成)状态= COUNTIFS(H:H,&#34;低&#34;,I:I,&#34;&lt; 31&#34;,K:K,&#34; True& #34;)得到38的结果,同时使用表格(&#34;概述&#34;)。单元格(13,LastCol1 + 1).Formula =&#34; = countifs(调查!H:H,& #34;&#34;低&#34;&#34;,调查I:!I,&#34;&#34;&LT; 31&#34;&#34;,调查K:K,&#34! ;&#34;真&#34;&#34;)&#34;给出值0。

EDIT3:

结果我在最后的计数字符串中有一个空格。立即行动。

1 个答案:

答案 0 :(得分:0)

我无法找到原始问题的答案,并通过将zMonth和zYear​​放在要由单元格引用的工作表上找到了解决办法。