Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


46044 / 76732 ←次へ | 前へ→

【35667】Re:SUMPRODUCT
発言  ichinose  - 06/3/9(木) 18:55 -

引用なし
パスワード
   ▼よし さん:
こんばんは。

>検索値 = 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を使用してみてください。
9 hits

【35663】SUMPRODUCT よし 06/3/9(木) 16:50 質問
【35667】Re:SUMPRODUCT ichinose 06/3/9(木) 18:55 発言
【35668】Re:SUMPRODUCT kobasan 06/3/9(木) 19:01 発言

46044 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free