| 
    
     |  | kawataです、よろしくお願いします。 
 ichinoseさん、何度もすいません、ありがとうございます。
 
 >Withステートメントが不要でした。
 >これを悩んでおられたなら、申し訳ありません。消し忘れです。
 >↑ではないとして・・・、
 
 はい、了解です、With 〜 End Withをコメントアウトしての
 動作確認はしましたです。
 
 >EvaluateのHelpをみると、
 >「使用する名前を、オブジェクトまたは値に変換します。」とありますが、
 >私は、「指定された文字列式を評価した結果を返します」という風に理解しています。
 
 教えていただいても、あっ、なるほど!・・・・とこない(−_−メ。
 とんでもなく、そういう風に理解するには(私の限界かな(^^;)。
 
 >そして、この文字列式内でワークシート関数も有効なため
 >
 >cnt = Application.Evaluate( _
 >      "=SumProduct((a1:a10 >= 5) * (a1:a10 <= 7))")
 
 cnt = Application.Evaluate( _
 "application.SumProduct((a1:a10 >= 5) * (a1:a10 <= 7))")
 
 という疑問もありました。
 
 >このコードでセルA1〜A10が1〜10だった場合、3という結果が変数cntに格納されます(Sumproductを使用すれば3という結果が得られる理由はよろしいですよね?)。
 
 はい、true * true が成立した3つの和(^^;。
 これを理解するのにも時間かかりましたです。しかし、配列を使っていくうえで
 避けては通れないような、もうひとつ頑張って確実にものにします。
 
 >さらに文字列式を評価した結果が配列だった場合には配列をも返してくれます。
 >(かなりの高確率で・・という表現に留めておきますが)
 
 (中略)
 >
 >なんて書き方もできました(実務に使用する場合は、細かいエラーチェックが
 >必要ですが・・、例えば結果が配列ではなかった場合とか・・)。
 >
 >こんな説明でいかがでしょうか?
 
 ありがとうございます。Helpを書き換えたい気持ちです。
 これから、再度提示いただいたコードを解析していきます。
 まだまだ、私の中では、ボンヤリだったのが、少し晴れてきたかな
 ・・・ぐらいですが(^^;。
 
 ありがとうございました!!、またよろしくお願いします。
 
 
 |  |