• ベストアンサー

シート全体のSUM関数だけの総合計

(EXCEL2002 WINXP) 1枚のシートに、SUM関数が10個以上入っています。 しかし、SUM関数が入っている箇所が固定されていないので、ひとつずつ拾って、総計を出している状態です。 マクロなどを使ってシートの中のSUM関数だけの総計など出すことは可能でしょうか?もし、可能であれば、教えていただければ幸いです。よろしくお願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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は足します。 珍しい問題なので、実際使えるかどうか。

omusupa
質問者

お礼

>珍しい問題なので、実際使えるかどうか。 大丈夫です!思ったとおりのことできました。 アクティブセルに結果を出したければ、Cells(11,"C")の所を、ActiveCellにすればよいのですよね。 本当に助かりました。これで作業が楽になります。 ありがとうございました。

その他の回答 (2)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

SUM関数が入ってるセルを足し算する式では駄目ですか? 総合計取るセルに =A30+B40+E20+F40+G25 とかって式を書くとか。 =$A$30+$B$40+$E$20+$F$40+$G$25 と書くとセル固定参照なので駄目ですが =A30+B40+E20+F40+G25 であれば相対参照なので、セルが移動しても自動修正されるので大丈夫です。

omusupa
質問者

お礼

説明不足で申し訳ありません。 回答ありがとうございます。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

ご質問のケースでは「SUBTOTAL関数」を使うのがよいと思います。 頑張ってくださいヽ(^。^)ノ

omusupa
質問者

お礼

説明不足で申し訳ありません。 SUBTOTAL関数では対処できず、質問させていただきました。(各列にSUM関数が入っており、列によっては2つSUMが入っていたり・・不規則になっています)

関連するQ&A