|
▼Jaka さん:
>いや、書いたコードを解析するのでなく、SUMPRODUCTをVBA上で使う方法を書いたつもりだったんですけど....。
>MsgBox Application.Evaluate("セルに書くのと同じ文字列を組合わせて書く")
そうでしたか。。。
私が使用していた
>WorksheetFunction.SumProduct((ws.Range("C2:C65535") = j) * _
> (ws.Range("F2:F65535") <= " & onDate & ") * (ws.Range _
> ("F2:F65535") <= " & ofDate & "))
とはただ記述の仕方が違うというだけでしょうか?
>シートに書いた関数と違って、1個1個のセルを再計算していくわけでないので大>丈夫だとおもいます。
>Countif関数も重い関数の部類に入りますから、数が多いとやたらと重くはなりま
>す。
それではこの方法に変えてみようと思います。
考えるのにしばらくかかりそうですが・・・
>Application.Evaluate ("SumProduct((Sheet1!B2:B65535=" & J & ")* _
> (Sheet1!C2:C65535<=" & onDate & ")*(Sheet1!C2:C65535<=" &
> _ ofDate & "))")
上記のコードを試してみました。
エラーは出ませんが、正しくカウントできませんでした。
「" & onDate & "」この部分が不思議なんですが、どういったことをしているのでしょうか?
お手数かけますが宜しくお願いします。
|
|