こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2008-05-16 09:52:10

QNo.4025964

困ってます

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

「各シートのサービス名の割合」というのが、いまひとつ分かりませんので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

投稿日時 - 2008-05-16 11:09:21

お礼

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

投稿日時 - 2008-05-16 12:56:47

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>> Sheets("集計シート").Range("B1").Value = Total
> となっているので、このままでは集計シートのB1に記入されますが、そこはB2に直してあるんですよね?
higekuman氏、訂正&補足ありがとうございます。

質問文&補足文から質問者の意図が全く読み取れません。
少し落ち着いて、現状&目的をはっきりさせては如何?
ブックとシート、セルと列、データは複数行あるのか否か・・・用語やシート名はハッキリと
もう少しこちらで想像できそうな質問文をお願いします。

投稿日時 - 2008-05-16 17:51:33

お礼

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

投稿日時 - 2008-05-17 09:10:22

ANo.3

集計という名のシート?
"集計シート"という名のシートですよね?

集計という名のシートにあるE1に”成”が入力されたもののうち?
E1に"成"が入力されるのは、集計シートではなくて、各企業のシートなんですよね?
それとも、集計という名のシートがたくさんある?

どれがどのシートなのか、混乱してきました。

#1さんの回答では、
> Sheets("集計シート").Range("B1").Value = Total
となっているので、このままでは集計シートのB1に記入されますが、そこはB2に直してあるんですよね?

ところで、
> For Each Sh in ThisWorkbook.Worksheets
が何をするものなのか、理解していますか?
それが解っていれば、ご自分で修正できるはずです。

VBEで[F8]を押すと、命令1行ごとに、ステップ実行できます。
どの命令で、「同じ集計という名のシート上のB2に合計金額が記載された」のかを確認してみるのも良いでしょう。

投稿日時 - 2008-05-16 17:27:33

お礼

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

投稿日時 - 2008-05-17 09:08:18

ANo.2

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

投稿日時 - 2008-05-16 15:25:09

補足

私の質問の書き方が悪かったと思うのですが、集計という名のシートにあるE1に”成”が入力されたもののうち、同じ集計という名のシート上のB2に合計金額が記載されたんです。

その他のシート(おのおの名前は違います)の串刺しができなかったので、再度ご教示願いました。

大変面倒な質問で申し訳ですが、今一度ご教示をお願いいたします。

投稿日時 - 2008-05-16 16:57:51

お礼

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

投稿日時 - 2008-05-16 17:03:58

あなたにオススメの質問