• ベストアンサー

串刺し計算(集計)マクロについて

いつもお世話になっております。 現在、シート間の集計をマクロでする作業を進めていますが、 1シート1企業に対し、 シートのC1にサービス名、D1に金額、E1に成否(入力規則よりリスト化)を記入するセルがあります。 このブックの集計をする場合、各シートのE1に”成”(入力規則よりリスト選択)が入力されたもののうち、集計シートのA1に、各シートのサービス名の割合、B2に合計金額を算出したいのです。 なお、シートは随時追加されて行きます。 どなたかご教示頂きますよう、お願いいたします。

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

  • ベストアンサー
  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.1

「各シートのサービス名の割合」というのが、いまひとつ分かりませんのでE1が値”成”の合計金額を「集計シート」のB2に格納するマクロサンプルを Sub Sample()  Dim Sh as Object  Dim Total As Long  Total = 0  For Each Sh in ThisWorkbook.Worksheets   If Sh.Name <> "集計シート" And Sh.Range("E1").Value = "成" Then    Total = Total + Sh.Range("D1").Value   End If  Next  Sheets("集計シート").Range("B1").Value = Total End Sub

acmr
質問者

お礼

早速のご対応ありがとうございます。感謝いたします。 一点ご質問がございます。 上の場合、”集計シート”のみの作業になってしまうみたいです。 全シートを対象にするには、どうしたらよいでしょうか?

その他の回答 (3)

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.4

>> Sheets("集計シート").Range("B1").Value = Total > となっているので、このままでは集計シートのB1に記入されますが、そこはB2に直してあるんですよね? higekuman氏、訂正&補足ありがとうございます。 質問文&補足文から質問者の意図が全く読み取れません。 少し落ち着いて、現状&目的をはっきりさせては如何? ブックとシート、セルと列、データは複数行あるのか否か・・・用語やシート名はハッキリと もう少しこちらで想像できそうな質問文をお願いします。

acmr
質問者

お礼

Masa2072様 せっかく回答くださったのに、余計混乱させるようなことをして申し訳ありませんでした。 自分の能力不足です。 一文一文確認しながらやってみます。 ありがとうございました。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.3

集計という名のシート? "集計シート"という名のシートですよね? 集計という名のシートにあるE1に”成”が入力されたもののうち? E1に"成"が入力されるのは、集計シートではなくて、各企業のシートなんですよね? それとも、集計という名のシートがたくさんある? どれがどのシートなのか、混乱してきました。 #1さんの回答では、 > Sheets("集計シート").Range("B1").Value = Total となっているので、このままでは集計シートのB1に記入されますが、そこはB2に直してあるんですよね? ところで、 > For Each Sh in ThisWorkbook.Worksheets が何をするものなのか、理解していますか? それが解っていれば、ご自分で修正できるはずです。 VBEで[F8]を押すと、命令1行ごとに、ステップ実行できます。 どの命令で、「同じ集計という名のシート上のB2に合計金額が記載された」のかを確認してみるのも良いでしょう。

acmr
質問者

お礼

higekuman様 お忙しいところ、ご回答ありがとうございました。 higekuman様のおっしゃる内容で間違いありません。 余計混乱させてしまい申し訳なく思っております。 自分の能力不足でした。 一文一文確認しながらやります。 ありがとうございました。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.2

#1さんの回答へのお礼に、 > 上の場合、”集計シート”のみの作業になってしまうみたいです。 と書いていますが、そのように判断した根拠を教えてもらえますか?

acmr
質問者

お礼

大変失礼いたしました。 補足いたします。よろしくお願いいたします。

acmr
質問者

補足

私の質問の書き方が悪かったと思うのですが、集計という名のシートにあるE1に”成”が入力されたもののうち、同じ集計という名のシート上のB2に合計金額が記載されたんです。 その他のシート(おのおの名前は違います)の串刺しができなかったので、再度ご教示願いました。 大変面倒な質問で申し訳ですが、今一度ご教示をお願いいたします。