我是VBA的新手,並且繼承了我目前正在更新的其他人的需求跟蹤電子表格。這些需求已經與當前的VBA代碼一起正確分組和總結。我想更新的特定塊(例如,有多個層次):如何爲幾組數據動態地創建COUNTIFS公式(運行時錯誤'1004')
For groups = 1 To i ' Level 3 grouping
Range(Cells(Start(groups), 1), Cells(Finish(groups), 1)).Rows.Group
Range("G" & Start(groups) - 1).Formula = "=COUNTIF(E" & Start(groups) & ":E" & Finish(groups) & ",""Requirement"")"
Range("H" & Start(groups) - 1).Formula = "=COUNTIF(H" & Start(groups) & ":H" & Finish(groups) & ",""Ok"")"
Next
我需要一個額外的條件添加到COUNTIF,所以我使用COUNTIFS。我只想計算不是4級的要求(他們可以是1,2,3或4級)。我曾嘗試在下面的邏輯變化:
For groups = 1 To i ' Level 3 grouping
Range(Cells(Start(groups), 1), Cells(Finish(groups), 1)).Rows.Group
Range("G" & Start(groups) - 1).Formula = "=COUNTIFS(E" & Start(groups) & ":E" & Finish(groups) & "," & "Requirement" & ",S" & Start(groups) & ":S" & Finish(groups) & ",""<>4"")"
Range("H" & Start(groups) - 1).Formula = "=COUNTIF(H" & Start(groups) & ":H" & Finish(groups) & ",""Ok"")"
Next
我試圖執行宏的和更新的金額正確式之前手動輸入手動在正確的細胞中的式(S)。不過,我總是得到以下,當我運行宏: 運行時錯誤「1004」 Application_defined或object_defined錯誤
我知道我有很多的報價,有的也許可以合併;但是,我更關心邏輯失敗的原因。能否請你幫忙?我在這個探索不同的途徑上花了太多時間。
預先感謝您!
在此之後,我將不得不學習如何隱藏每個「4級」要求(這意味着行和以下2行),但這是另一個話題。我以爲我會先嚐試更簡單的邏輯..
最簡單的就是debug.print你的公式字符串a nd看看它有什麼問題,無論是在即時窗口還是將其複製到工作簿中。用'''= COUNTIFS ...'開始公式,然後刪除工作表中的單引號,並得到更具描述性的錯誤信息。 – nutsch