[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『「最終行にVBAで合計を入れたい(複数列)」[柳田] について』(hotspa)
投稿
以下のような表があります。行5以下にも罫線が引かれています。
カンファレンスを開催するのは定期的ではありませんのでどこまでこの表が伸びるのかわかりません。
最終行のBとD(どこになるかわからない最終行)に自動で合計を入れ、そこまでを印刷したいのですがVBAで出来るものでしょうか?
自分で合計及び印刷をするのでしたら手作業でやるのですが、パソコンやエクセルの操作に慣れていない人も作業するためワンクリックでその作業が出来るようにしたいのです。
ご教示いただければ幸いです。
  A    B      C   D     E    F
1          カンファレンス
2 日時  新規人数   名前  累計   名前   参加者
3 1/5     1
4 2/10    0
5 3/4     5
< 使用 Excel:Excel2010、使用 OS:Windows7 >
累計列各セルには式が入っているんですね。 マクロでは最終行の合計のみを(式で)セットしています。
 Sub Sample()
    With Columns("A").Find("*", Range("A" & Rows.Count), xlFormulas, , xlByRows, xlPrevious).Offset(1)
        .Offset(, 1).FormulaR1C1 = "=SUM(R3C:R[-1]C)"
        .Offset(, 3).FormulaR1C1 = "=SUM(R3C:R[-1]C)"
    End With
 End Sub
(β) 2017/02/02(木) 21:07
その行までの印刷を忘れていました。
Sub Sample2()
    With Columns("A").Find("*", Range("A" & Rows.Count), xlFormulas, , xlByRows, xlPrevious).Offset(1)
        .Offset(, 1).FormulaR1C1 = "=SUM(R3C:R[-1]C)"
        .Offset(, 3).FormulaR1C1 = "=SUM(R3C:R[-1]C)"
        ActiveSheet.PageSetup.PrintArea = Range("A1", .Cells).EntireRow.Address
    End With
    ActiveSheet.PrintOut
    ActiveSheet.PageSetup.PrintArea = ""
End Sub
(β) 2017/02/02(木) 21:14
この意味がわからないのですが?
手作業で印刷したときと違った状態になるのでしょうか。
本題と関係ない所が気になるのですが
累計の列にはどんな数式が入力されているのでしょうか。
累計の合計???というのがわかりません。
(マナ) 2017/02/02(木) 23:33
マナさん同様、
>>表の形態を成していないように思います。
これが、全く意味不明です。 私のコードはシートの状態あるがままの印刷です。印刷要件に関する特段の提示がなかったので。
具体的に、どんな形で印刷したいのですか?
また、累計欄合計についても、どういう意味を持つ値なんだろうという気はします。 もしかしたら、最終行に入れるべき式は "=R[-1]C" なのかなぁとも思ったりしています。
>>例えばボタンの設置等は出来ませんでしょうか?
もちろんできますよ。ただし、マクロではなく、hotspa さんが手作業でセットするんですよ。
・開発タブ 挿入 で、上のほうの フォームコントロール の中のボタン(一番左上にあるはず)をクリックし ・シート上の好きな場所にマウスを動かして好きな大きさにした上でマウスを離す ・マクロ登録画面が出てくるので、このマクロを選んでOKボタン
(β) 2017/02/03(金) 00:43
ボタンの件、了解です。
ありがとうございました。
全て解決することが出来ました。
(hotspa) 2017/02/03(金) 21:19
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
 Modified by kazu.