Excel-vba: Worksheetfunction.CountIfs с переменной vba - PullRequest
0 голосов
/ 25 января 2019

Я использую WorksheetFunction.CountIfs в Excel в двух разных процедурах. В первой процедуре я использую 0,7 в качестве критерия и получаю правильный результат, во второй процедуре я использую переменную, равную 0,7, и получаю (неправильный) результат 0 (в версии 1 и версии 2, см. Ниже). Разве нельзя использовать переменную в качестве критерия здесь? Это было бы полезно для меня, так как я хочу использовать WorksheetFunction.CountIfs в цикле for, критерием которого является счетчик цикла.

Другими словами: почему это работает

Sub countIfsConstant()
Dim rngTest As Range
Dim rngTest2 As Range
Set rngTest = ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(10, 1))
Set rngTest2 = ActiveSheet.Range(ActiveSheet.Cells(1, 2), ActiveSheet.Cells(10, 2))
Debug.Print WorksheetFunction.CountIfs(rngTest, ">0.7", rngTest2, "b")
End Sub

Но это не

Sub countIfsVariable()
Dim rngTest As Range
Dim rngTest2 As Range
Dim lb As Single
Set rngTest = ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(10, 1))
Set rngTest2 = ActiveSheet.Range(ActiveSheet.Cells(1, 2), ActiveSheet.Cells(10, 2))
lb = 0.7
Debug.Print WorksheetFunction.CountIfs(rngTest, ">lb", rngTest2, "b") 'version 1
Debug.Print WorksheetFunction.CountIfs(rngTest, ">" & lb, rngTest2, "b") 'version 2
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...