|
今晩は。
すでにichinoseさんが解答されているのと同じようなものなんですが
考えたので、のせてみます。
(Columns(1) = 検索値が配列だからためなんだと思います。
'WorksheetFunction.SumProduct((Columns(1) = 検索値) * 1)
MsgBox Application.Evaluate("SUMPRODUCT((A:A=3)*1)") 'エラー
'MsgBox Application.Evaluate("SUMPRODUCT((A1:A65536=3)*1)") 'エラー
A1:A65535のように65536より小さい数値を指定しないとダメみたいです。
以下だとOKです。
'MsgBox Application.Evaluate("SUMPRODUCT((A1:A65535=3)*1)") 'OK
'MsgBox Application.Evaluate("SUMPRODUCT((A1:A9=3)*1)") 'OK
【34570】Re:Sumproductについて
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=34570;id=excel
も参考にしてください。
|
|