[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Evaluate の使い方』(チサ)
いつもお世話になっております。それはもう感謝しております。
どうも、ダブルクウォーテーションの使い方がうまくかけてないのか、ここしばらく悩んでおります。
Range("M3").Formula = "=SUMPRODUCT(SUBTOTAL(3,INDIRECT(""F"" & ROW(F5:F" & endRow & ")))*(F5:F" & endRow & "= ""A""))"
これは、求める値が得られます。
TextBox2.Text = Application.Evaluate("SUBTOTAL(3,F5:F" & endRow & ")") これも、求める値が得られます。
問題はこれです。
TextBox3.Text = Application.Evaluate("SUMPRODUCT(SUBTOTAL(3,INDIRECT(""F"" & ROW(F5:F" & endRow & ")))*(F5:F" & endRow & "= ""A""))")
これが 「実行時エラー 型が一致しません」が出てしまいます。
どなたか、おかしいところ教えていただけないでしょうか。 よろしくお願いいたします
< 使用 Excel:Excel2003、使用 OS:Windows7 >
>おかしいところ教えていただけないでしょうか。
構文としては、どこもおかしくないと思います。
そこで、こんな数式で実験してみました。(F5には 777 が入っています)
TextBox1.Text = Application.Evaluate("F5") →777 TextBox1.Text = Application.Evaluate("ISERROR(F5)") →False TextBox1.Text = Application.Evaluate("INDIRECT(""F5"")") →777 TextBox1.Text = Application.Evaluate("ISERROR(INDIRECT(""F5""))") →True
というこは、EVLALUATE関数の引数である「数式文字列」の中で使われている関数の 引数としてINDIRECT関数が使われると(上例ではISERROR関数の引数にINDIRECTが使われている)、 EVALUATE()はINDIRECT()を正常に処理できないと云うことじゃないでしょうか?
※徹底的に調べて訳でも、権威ある人のレポートを見た訳でもないので、断言はできませんけど・・
(半平太) 2014/07/14(月) 20:25
構文がおかしくない、といってくださり、先に進めます。
作業エリアを設けてやってみます。
こんな風に検証するのですね。勉強になりました。
本当にありがとうございました。
(チサ) 2014/07/14(月) 22:32
>"=SUMPRODUCT(SUBTOTAL(3,INDIRECT(""F"" & ROW(F5:F" & endRow & ")))*(F5:F" & endRow & "= ""A""))"
&が抜けてない?
INDIRECT(""F""&" & ROW(F5:F" & endRow & ")..... (seiya) 2014/07/15(火) 02:40
INDIRECT(""F""&" & ROW(F5:F" & endRow & ").....
残念ながら コンパイルエラーになります。
また こちらは 求める値が得られます。
"=SUMPRODUCT(SUBTOTAL(3,INDIRECT(""F"" & ROW(F5:F" & endRow & ")))*(F5:F" & endRow & "= ""A""))"
問題は、この
TextBox3.Text = Application.Evaluate("SUMPRODUCT(SUBTOTAL(3,INDIRECT(""F"" & ROW(F5:F" & endRow & ")))*(F5:F" & endRow & "= ""A""))"
の Evaluate とINDIRECT の相性の悪さのようです。
)
(チサ) 2014/07/15(火) 07:40
こういう意味でしたが、Complie Errorにはなりません。 Application.Evaluate("SUMPRODUCT(SUBTOTAL(3,INDIRECT(""F""&ROW(F5:F" & endRow & ")))*(F5:F" & endRow & "=""A""))")
Indirectを使用しなくてもよさそうな...
(seiya ) 2014/07/15(火) 08:25
これを使うと 1文でサクっと、できて便利かな・・・と思い。
(チサ) 2014/07/15(火) 09:29
色々調べて出来なかったけど、、、 オートフィルタでAのみ表示を追加させても同じ結果得られるんじゃない? (稲葉) 2014/07/15(火) 09:36
やっぱり、できなさそうですね。
検索画面で、"A" だけでなく後10個近くあるので・・・・。
(チサ) 2014/07/15(火) 09:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.