• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel vbaの関数の使い方)

Excel VBAのsumproduct関数の使い方と原因

このQ&Aのポイント
  • Excel VBAでsumproduct関数を使いたいが実行できない原因を教えてください。
  • VBAを使用して、Excelの日常ワークシートのデータを集計ワークシートの特定の条件で加算したい場合、sumproduct関数が使用できます。
  • 具体的なコード例として、Range関数を使用して対象範囲を指定し、条件を設定することでsumproduct関数を実行できます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#252888
noname#252888
回答No.2

あ、ちなみにこれならどうでしょう。 Worksheets("集計").Range("j4").Value = Evaluate("SUMPRODUCT((日常!C4:C13>=集計!J2)*(日常!C4:C13<=集計!K2)*(日常!D4:D13=集計!L2)*(日常!F4:F13=集計!M2),日常!H4:H13)") EvaluateはVBA上で関数を文字列で設定しているだけなので、j2とかも使えます。

diwk85
質問者

お礼

早速のご回答ありがとうございました。 実行できました。見事に計算します。ありがとうございます。 これから目的のものに挑戦したいと思います。 今後ともよろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#252888
noname#252888
回答No.1

パット見ですけど「>= j2」のj2とかって使えないでしょ。 ソースの一番上に「Option Explicit」と書く癖をつけた方が良いですよ。 実行前にエディッタの「コンパイル」を実行するとエラーが出ます。 これを直しても通らないと思います。 VBAのsumproductって難しかったはずなので真面目に考える前に1つ聞きたいのですが VBA(マクロ)じゃなくて関数だと簡単なんですが関数じゃ嫌なんですか?

diwk85
質問者

お礼

早速のご回答ありがとうございます。 ワークシート関数での経験はあります。今回はVBAで挑戦したいと思いました。 dolcedish様のご回答を試みましたところ実行できました。 有難うございました。 今後ともよろしくお願いいたします。

すると、全ての回答が全文表示されます。

専門家に質問してみよう