SUMIF関数をコードで書きたいのですが
できるでしょうか?
何をしたいかと言うと、シート上である条件であてはまる金額を金額欄に入力
した場合は、集計が自動的に行いたいのですが・・・文章になっていませんので
例で説明させて頂きます。

例)シートにセル項目として、種類がA1:A30
        金額項目がA1:A30
  テキストボックスに合計金額が4つあります。(TEXTBOX1~4)
金額欄に入力があった時に条件で種類別に合計金額のテキストボックス
に転送したいのですが、
  できれば、集計の再計算を行わないで、SUMIFが使用できないかな
  と思いまして、(そっちのほうが簡単かな?)
  他に簡単な方法があれば、教えて下さい。
  なぜセルをつかわないんだと思う方もいるかもしれませんが、
  かなり複雑にシートが分かれていまして、
  セルの項目で使用した場合、均等な大きなで行うのはかなり困難なので
  難しくなるのは承知の上よろしくお願いします。
  

A 回答 (2件)

下のものでできます。



計算結果 = WorksheetFunction.SumIf(範囲, 条件, 合計範囲)

関数の時と同じです。
ただ、他の関数はできるものとできないものがあります。
ちょっとした時に便利で良く使います。

余計なことならすいません。
Private Sub Worksheet_Change
でセルに入力があった時に起動。
IFなどで特定のセルかを判定。
なのだと思います。

かなり省略して書きましたので
不明、不足は質問下さい。

複雑な表の場合はわたしもコードで書きますね。
大変そうですが、がんばって下さい。

何かありましたら小さなことでも構いません、
質問下さい。
    • good
    • 0

金額項目がA1:A30 は「金額項目がB1:B30」のミスタイプではないのですか。

質問の趣旨が良く理解できないのは
私のレベルでは手におえないのかな。
4つのセルを集計結果をセットするエリアとして認めてもらえるならば、4つの各々のテキストボックスのプロパティのLinkedCellにその対応するセルの番地を入れれば、テキストボックスにその値が表示されましたが。
「集計の再計算を行わないで、SUMIFが使用できないかな」と言う意味も良くわかりません。自動計算モードにしておくと、スピードが落ちて困るぐらい演算式が沢山入っていて、イライラするほど遅くなるのですか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報