CountIf и SumProduct в Excel VBA - PullRequest
       8

CountIf и SumProduct в Excel VBA

0 голосов
/ 21 января 2020

Я пытаюсь подсчитать количество уникальных значений в столбце таблицы. Я установил диапазон в качестве соответствующего столбца в таблице. При определении количества уникальных значений для подсчета я получаю следующую ошибку:

Required_Rows = WorksheetFunction.SumProduct (1 / WorksheetFunction.CountIf (Range (Rng), Range (Rng))))

1 Ответ

0 голосов
/ 21 января 2020

Вы не сможете использовать Sumproduct и SumIf таким образом. Попробуйте вместо этого использовать метод Evaluate ...

Dim Required_Rows As Variant 'declared as Variant in case Evaluate returns error

Required_Rows = Evaluate("SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))")

If Not IsError(Required_Rows) Then
    'do something
Else
    'do something else
End If

Обратите внимание, что Evaluate имеет ограничение в 255 символов.

EDIT

С объектом Range Вы определили (ie. Rng), попробуйте ...

Required_Rows = Evaluate("SUMPRODUCT(1/COUNTIF(" & Rng.Address(external:=True) & "," & Rng.Address(external:=True) & "))")

Надеюсь, это поможет!

...