• 締切済み

VBAで複数条件の合計の出し方について

こんにちは。 VBAについて困っているので質問させていただきます。 <概要> 決められたフォーマットに他のシートから二つの条件が合った場合の合計を出したい データシート      A      B        C        D 1  名前    区分      担当      給料 2  Aさん    社員      ホール     1234 3  Bさん    アルバイト   キッチン    2345 4  Cさん    社員      ホール     6789 5  Dさん    アルバイト   掃除      1011 ↑とあるとします。 このときに『社員かつ担当がホールの方の給料の合計』を他のシートに出したいのですが、 上手くいきません。 使用している関数としては・・・ Dim Data Data = "データ" Worksheets(Data).Activate Dim SelectTantou SelectTantou = file.ListBox.Value (リストボックスに担当場所表示) Dim SetData SetData = SelectTantou Dim EndDataNameCell EndDataNameCell = Worksheets(Data).Range("A1").End(xlDown).Row If Worksheets(Data).Cells(Rows.Count, 3) = "社員" Then Worksheets(SetData).Range("CH3").Formula = "=SUMIF('" & Data & "'!C2:C" & EndDataNameCell & "," & """=" & SelectName & """,'" & Data & "'!D1:D" & EndDataNameCell & ")" Worksheets(SetData).Range("A1").Formula = Worksheets(SelectName).Range("CH3").Value End If のような感じでやってみましたが、 値が表示されませんでした。 SUMPRODUCTもやってみましたが、 うまくいきません。。。 恐れ入りますが、お力添えをお願いいたします。

みんなの回答

回答No.1

ワークシート関数にデータベース関数DSUMがあります. =DSUM(db,"給料",G5:H6) db:データベースの範囲名 G5:H6:抽出条件の入った範囲 G H 5 区分 担当 6 社員 ホール これで8023と正しくでます.

jey_3104ck
質問者

補足

お早いご回答ありがとうございます! G5:H6の部分は "!B1:B":"!C1:C" ということでしょうか? 初心者ですみません。。。

関連するQ&A