- ベストアンサー
エクセルで質問です。
たびたびすみません。教えてください。 エクセルで下記のようなシートがあります。 a b c 188 824 584 515 514 748 ・ ・ 空白行 合計 99999 このシートを別のシートにa欄とb欄をコピーだけをコピーし、 空白行がでてきたら合計欄を記述させるという方法はありますか? ※コピー元のシートの行数は毎回変わります。 説明不足ではありますが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
(1)関数式による回答が出れば結構なんでしょうが、出来なさそうな気がします。 (2)VBAなら、簡単な初心者の組むプログラムで出来ます。最終行の次ぎのセルにendと入れて実行してください。セルの空白とは、Deleteキーを押したと同じ状態を意味するものとする。 Sub test01() Worksheets("sheet1").Activate s1 = 0 :s2=0 '小計は0にする。 i = 1 '第1行目から始める。 p01: If Cells(i, "A") = "end" Then Exit Sub 'endが 'あると処理終わり If Cells(i, "A") = "" Then 'セルは空白か Cells(i, "A") = s1 Cells(i, "B") = s2 '空白なら小計をセット Cells(i, "A").Interior.ColorIndex = 8 '色付け s1 = 0 : S2=0 '小計を0にする Else s1 = s1 + Cells(i, "A") '小計にセルの値を加える s2 = s2 + Cells(i, "B") End If i = i + 1 '1行下を対象にする GoTo p01 End Sub やり方は、ツール-マクロ-VBE 挿入-標準モジュールの画面に上記を貼りつけ。 メニューの実行-SUB・・の実行。
その他の回答 (1)
- NIWAKA_0
- ベストアンサー率28% (508/1790)
要するに、毎回行数が変わる表での合計、ということでしょうか? あらかじめ行数多めで表を作っておき、 余った空白行を選択→[表示しない]で隠しちゃうのは、ダメですか? (隠した行の上下を選択支、[再表示]で元に戻ります)
お礼
先ほどに引き続いてご回答ありがとうございました。 大変参考になりました。