|
▼よし さん:
こんばんは。
>検索値 = Cells(1, 3)
>結果 = WorksheetFunction.SumProduct((Columns(1) = 検索値) * 1)
>とすると「実行時エラー13の型が一致しません」となるのですが
問題がふたつあります。
一つは・・・、
VBAで
Columns(1) = 検索値
という式が配列として評価されないこと。
二つ目は・・・、
Sumproduct関数は列全体を指定出来ないこと。
セルに
「=Sumproduct((A:A=1)*1)」
と指定してもエラーになりますよ!!
'================================
Sub test()
dim ans as variant
Dim rng As Range
Set rng = Range("a1", Cells(Rows.Count, 1).End(xlUp))
ans = Evaluate("sumproduct((" & rng.Address & "=" & Cells(1, 3).Value & ")*1)")
MsgBox ans
End Sub
Evaluateを使用してみてください。
|
|