- ベストアンサー
シート全体のSUM関数だけの総合計
(EXCEL2002 WINXP) 1枚のシートに、SUM関数が10個以上入っています。 しかし、SUM関数が入っている箇所が固定されていないので、ひとつずつ拾って、総計を出している状態です。 マクロなどを使ってシートの中のSUM関数だけの総計など出すことは可能でしょうか?もし、可能であれば、教えていただければ幸いです。よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
シート(Sheet1とします)にコマンドボタンを1つ貼りつけてください。 ダブルクリックするとVBE画面になり、Sheet1の Private Sub CommandButton1_Click() End Sub がでた画面になります。 Private Sub CommandButton1_Click() Dim cl As Range For Each cl In Range("a1:d10") If Left(cl.Formula, 5) = "=SUM(" Then t = t + cl End If Next Cells(11, "C") = t End Sub をコピペしてください。(ただし最初と最終行はコピペから外して下さい。) そしてSUMの入っている可能性のある範囲で、Range("a1:d10") の部分を置換えてください。 Cells(11, "C") を答えをセットしたいセルで置換えてください。例えば、H12ならCells(12,"H")です。 VBE画面で、実行-デザインモードの終了をクリックする。 そしてボタンをクリックすれば、セットしたセルに合計が 入ります。 合計したい合計は無理に=SUM()で統一し、それ以外は=A1+SUM()とでもしてください。加えるかどうかは、式の見た目で判断しています。 だから=A1+sum(・・)や =2*SUM(・・・)は足しません。 =SUM(・・・)*2は足します。 珍しい問題なので、実際使えるかどうか。
その他の回答 (2)
- chie65536
- ベストアンサー率41% (2512/6032)
SUM関数が入ってるセルを足し算する式では駄目ですか? 総合計取るセルに =A30+B40+E20+F40+G25 とかって式を書くとか。 =$A$30+$B$40+$E$20+$F$40+$G$25 と書くとセル固定参照なので駄目ですが =A30+B40+E20+F40+G25 であれば相対参照なので、セルが移動しても自動修正されるので大丈夫です。
お礼
説明不足で申し訳ありません。 回答ありがとうございます。
- snoopy64
- ベストアンサー率42% (337/793)
ご質問のケースでは「SUBTOTAL関数」を使うのがよいと思います。 頑張ってくださいヽ(^。^)ノ
お礼
説明不足で申し訳ありません。 SUBTOTAL関数では対処できず、質問させていただきました。(各列にSUM関数が入っており、列によっては2つSUMが入っていたり・・不規則になっています)
お礼
>珍しい問題なので、実際使えるかどうか。 大丈夫です!思ったとおりのことできました。 アクティブセルに結果を出したければ、Cells(11,"C")の所を、ActiveCellにすればよいのですよね。 本当に助かりました。これで作業が楽になります。 ありがとうございました。