• 締切済み

エクセルのSUMに関して

エクセルのSUMに関して 数値が1行から1000行まであります。 印刷ページ毎の合計を出す方法ってありますでしょうか?

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

ANo.3です。 ごめんなさい、前のマクロだと直前ページの最下行の値も合計していました。 ちょっと修正 Sub Sample()   nRow1 = 0 '最初は1行目から…に、するため   For i = 1 To ActiveSheet.HPageBreaks.Count 'ページ数分ループ     nRow2 = ActiveSheet.HPageBreaks(i).Location.Row - 1     'C列印刷最下行にB列のページ合計を表示     Range("C" & nRow2).Formula = "=SUM(B" & nRow1 + 1 & ":B" & nRow2 & ")"     nRow1 = nRow2   Next i      nRow2 = ActiveSheet.UsedRange.End(xlDown).Row '最終ページはデータのある所まで   'C列印刷最下行にB列のページ合計を表示   Range("C" & nRow2).Formula = "=SUM(B" & nRow1 + 1 & ":B" & nRow2 & ")" End Sub

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

縦に何ページにも渡っている場合にのみの対応ですが、こんなのはどうでしょう。 B列の印刷ページ最上行から最下行の合計をC列の印刷ページ最下行に表示しています。 Sub Sample()  nRow1 = 1 '最初は1行目から  For i = 1 To ActiveSheet.HPageBreaks.Count 'ページ数分ループ   nRow2 = ActiveSheet.HPageBreaks(i).Location.Row - 1   'C列印刷最下行にB列のページ合計を表示   Range("C" & nRow2).Formula = "=SUM(B" & nRow1 & ":B" & nRow2 & ")"   nRow1 = nRow2  Next i  nRow2 = ActiveSheet.UsedRange.End(xlDown).Row '最終ページはデータのある所まで  'C列印刷最下行にB列のページ合計を表示  Range("C" & nRow2).Formula = "=SUM(B" & nRow1 & ":B" & nRow2 & ")" End Sub

回答No.2

No1の方と同様、改ページプレビューできりのいい所まで全て仕切って(例:SUM(B1:B20)) あとは機械的に20ずつ足したセルの値で指定すれば少しは楽なのでは? 余白をほぼなしの状態にすれば、もっと行けると思いますが。

tomomomo0220
質問者

補足

ありがとうございます。 タイトル行を各ページに設定している為、改ページがつねに20行づつとは限らないのですTT やはりアナログ方法しかないのでしょうか。。

  • kazzsnow
  • ベストアンサー率50% (31/61)
回答No.1

1行から1000行まであるExcelのシートで、任意の改ページ箇所までの合計を それぞれ出したい、ということですか? それとも1行から1000行まであるExcelのシートが複数ある、という意味ですか? 前者なら、メニューバー→表示→改ページプレビュー でページ区切りを表示させて、その都度SUMで合計を出せばよいのでは? 後者なら、説明するまでもないですがそれぞれのページで 同じ関数を入れるだけです。 ご質問の意図をはずしてたらすみません。

tomomomo0220
質問者

補足

ありがとうございます。 質問は前者になります。 >前者なら、メニューバー→表示→改ページプレビュー >でページ区切りを表示させて、その都度SUMで合計を出せばよいのでは? とのことですが、ページ数が100ページを超えてしまうため、アナログ作業ではなく、 自動的に合計が出るようにならないかなぁ、と考えております!

関連するQ&A

専門家に質問してみよう