我的問題是關於VBA countifs(),它正在評估一列中的字母數據和另一列中的數字數據。我已經在這張表的另一部分使用了多條標準countifs()。該公式看起來像這樣:VBA countifs()w/multiple criteria - >一些文本的一些數字
Filedresult = WorksheetFunction.CountIfs(range("n:n"), "TT", range("P:P"), "Filed")
MsgBox Filedresult
以下是我需要幫助的過濾器代碼。我需要COUNTIFS()過濾器計數細胞的數目是:
StartYear列W = 2017並且在開始周&之間EndWeek = 1 & 4 OR具有WeekValue = 1,2,3和4
Dim StartYear As Integer
Dim StartWeek As Integer
Dim EndWeek As Integer
'Setting Start Year, Start Week, and End Weeks
StartYear = WBsheetTwo.range("g5")
MsgBox StartYear
'THIS VALUE CURRENTLY ='s 2017
StartWeek = WBsheetTwo.range("g6")
MsgBox StartWeek
'THIS VALUE CURRENTLY ='s 1
EndWeek = WBsheetTwo.range("g7")
MsgBox EndWeek
'THIS VALUE CURRENTLY ='s 4
這是我迄今爲止基於之前建立的countifs()的結構嘗試構建的過濾器。
我已經重新編寫了這篇文章,試圖根據讀者的要求使我的問題更加清晰。讓我知道如果有什麼我可以澄清!仍然是新的論壇!感謝您的幫助
****************************************FILTER*************************
'WEEK FILTER for # of TT Values
If WBsheetTwo.range("h6").Value = "YES" Then
MsgBox "Week Filter Is ON"
WBsheetOne.Activate
TTresultWFilter = WorksheetFunction.CountIfs _
(range("n:n"), "TT", _
range("w:w"), "&StartYear&", _
range("x:x"), "1", _
range("x:x"), "2", _
range("x:x"), "3", _
range("x:x"), "4")
MsgBox TTresultWFilter
Else
MsgBox "Week Filter if OFF"
'Pasting Origional TT Filter W/O Weeks Filter
WBsheetTwo.Activate
range("f12").Value = TTresult
****************************************FILTER*************************
* ...我需要幫助* - * *正是你需要什麼幫助?請編輯您的問題以獲得更具體的問題。 ....其實,我看到兩件事情:1)用'&StartYear'&''替換CountIfs中的'「2017」'。如果該列是文本,則可以用'Cstr'封裝StartYear。 2)你定義的範圍(「x:x」)限制的次數也是一個問題。 'CountIfs'不能這樣工作。您需要將多個CountIfs一起添加。 –
謝謝你的回覆,我已通過郵件更新。根據過濾器不完整添加不同的countifs()雙計數數據? –
我認爲@ScottHoltzman的意思之一是'countifs()'不會做「或」。它只是做「和」。所以你不能通過一次調用'countifs()'來表達你的WeekValue條件。 – vknowles