プロが教える店舗&オフィスのセキュリティ対策術

Excelにて、フッターにシートの合計を印刷したいのですが、初心者で、マクロコードが
分からず苦慮しております。お分かりになる方ご教授願います。

詳細

右フッターの、 数量合計(       ) の括弧の中に合計を印刷したい
画像参照願います。
合計する範囲は、  Range("G2:G41")  Range("G42:g81")  Range("G82:G121")
 Range("G122:G161")  Range("G162:G201") Range("G202:G241") 
Range("G82:G121")のように39セルの合計を数量合計の括弧の中に印刷したいです



00(     ) 111(     ) 222(     )                      

数量合計(1234   )     






という形で印刷したいのですが、分からずご教授願います。
1ページ目を下記コードを作ってみたのですがうまくいきません。

Sub Footer()
With ActiveSheet.PageSetup

.RightFooter = "有効(     ) 未使用(     ) 書損(     )  " & Chr(10) & _
"数量合計(       )" & Chr(10) & "印"& Chr(10)_
Format(Application.WorksheetFunction.Sum(Range("G2:G42")), "#,##0")
End With
ActiveWindow.SelectedSheets.PrintPreview



End Sub


よろしくお願いします。

「Excelにて、フッターにシートの合計を」の質問画像

質問者からの補足コメント

  • ありがとうございます

    1ページめは何とか形にはなりましたが、2ページ、3ページへのつなぎ方がわかりません
    合計範囲は、1ページ→Range("G2:G41")  2ページ→Range("G42:g81")  
    3ページ→Range("G82:G121") 4ページ→Range("G122:G161")  
    5ページ→Range("G162:G201") 6ページ→Range("G202:G241") 
    7ページ→Range("G82:G121")と続きます
    今回下記のように変更して、1ページはできたのですが、2ページ以降がわかりません
    文字数オーバーしたので、次につづきます

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/02/24 04:56
  • Sub Footer()
    Dim sum1, sum2, sum3, sum4, sum5

    sum4 = Application.WorksheetFunction.Sum(Range("G2:G41"))
    With ActiveSheet.PageSetup
    .RightFooter = "有効( ) 未使用( ) 書損( )" & Chr(10) & _
    "数量合計(" & sum4 & ")" & Chr(10) & "印" & Chr(10)
    End With
    ActiveWindow.SelectedSheets.PrintPreview
    End Sub

    すみませんよろしくお願いいたします。

      補足日時:2022/02/24 04:59

A 回答 (5件)

こんにちは


そういう事ですか・・・すでに回答にある通り 同じシートに設定した
印刷設定の各ページ設定は、手動のダイアログを見て分かる通りできません

フッターで表示したい部分を新規にセル範囲を設けて、それを含め印刷範囲
余白設定、ページ設定をして印刷するなどを検討してください。

どうしても新たに行を挿入できない場合は、
1ページごとに印刷範囲、各設定をして、印刷、を繰り返すなどの方法になると思います。(規則性があるのならループで容易に処理できると思いますが、処理時間は増えます)

このコードサンプルは範囲設定が分からないので割愛します

参考に画像を添付します。(各ページのオプション設定がありません)
「Excelにて、フッターにシートの合計を」の回答画像5
    • good
    • 0
この回答へのお礼

対応して頂きありがとうございます
参照にさせていただきます。

お礼日時:2022/02/24 18:22

シート上に実際に合計行を挿入する方法を考えましょう。


印刷用のシートをVBAで作るのが吉。
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2022/02/24 18:21

Accessのレポート機能のようなヘッダ/フッタをご希望のようですが、Excelではできないと思います。


早めに諦めて、軌道修正した方が良いですよ。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2022/02/24 18:21

こんばんは


ご質問の意味が良く分からないのですが・・
カッコ内の値を書き出す方法が知りたいのでしょうか?
参照先が沢山あるようでしたら、コードが長くなるので一旦変数に代入するのが良いと思います。
Sub Footer()
Dim sum1, sum2, sum3, sum4, sum5
sum1 = Application.WorksheetFunction.Sum(Range("G2:G42"))
sum2 = Application.WorksheetFunction.Sum(Range("G2:G42"))
sum3 = Application.WorksheetFunction.Sum(Range("G2:G42"))
sum4 = Application.WorksheetFunction.Sum(Range("G2:G42"))
sum5 = Application.WorksheetFunction.Sum(Range("G2:G42"))

With ActiveSheet.PageSetup
.RightFooter = "有効(" & sum1 & ") 未使用(" & sum2 & ") 書損(" & sum3 & ")" & Chr(10) & _
"数量合計(" & sum4 & ")" & Chr(10) & "印" & Chr(10) & Format(sum5, "#,##0")
End With
ActiveWindow.SelectedSheets.PrintPreview

Range("G2:G42")についてはどこに何をが分からなかったので
取り敢えず 同じですが、変えてみてください。
この回答への補足あり
    • good
    • 0
この回答へのお礼

対応していただきいありがとうございます
1ページめは何とか形にはなりましたが、2ページ、3ページへのつなぎ方がわかりません

お礼日時:2022/02/24 04:36

計算式をいきなりフッターに書こうとせずに、



シートのどこかにでも、合計を算出する式を書いといて、
その結果(そのセル)をフッターに表示すれば
いいのでは?
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2022/02/24 04:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています