| 
    
     |  | 今晩は。 
 すでに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
 も参考にしてください。
 
 
 |  |