
No.2ベストアンサー
- 回答日時:
(テストデータ)A1:C9小計合計のない状態で。
下記は結果です。支店コード金額手数料
1101
1202
1303
小計606
2101
2202
小計303
352
3102
3151
小計305
合計12014
(コード)
Sub test01()
d = Range("a2").CurrentRegion.Rows.Count
' MsgBox d
Cells(d + 1, 1) = "END"
Dim st1, gt1, st2, gt2 As Long
st1 = 0: gt1 = 0: st2 = 0: gt2 = 0
mk = Cells(2, 1)
'==========
For i = 2 To 10000
If Cells(i, 1) = "END" Then Exit For '最終行判定
If Cells(i, 1) = mk Then '前行とコード同じか
'------今回行分加算
st1 = st1 + Cells(i, 2)
st2 = st2 + Cells(i, 3)
Else
mk = Cells(i, 1)
'--------小計
Cells(i, 1).EntireRow.Insert
Cells(i, 1) = "小計"
Cells(i, 2) = st1
gt1 = gt1 + st1
st1 = 0
Cells(i, 3) = st2
gt2 = gt2 + st2
st2 = 0
'-----今回行分加算
i = i + 1
st1 = st1 + Cells(i, 2)
st2 = st2 + Cells(i, 3)
End If
Next i
'============終了
'-------小計
Cells(i, 1) = "小計"
MsgBox st1
Cells(i, 2) = st1: gt1 = gt1 + st1: st1 = 0
Cells(i, 3) = st2: gt2 = gt2 + st2: st2 = 0
'-------合計
Cells(i + 1, 1) = "合計"
Cells(i + 1, 2) = gt1
Cells(i + 1, 3) = gt2
End Sub
(結果)上記の通り
(本番注意)
(1)B列-->J列、2-->10,C列-->K列、3-->11
(2)最後にENDが残るが消す。
(3)テストする時、元データを残して行うこと。
行が増えてしまうので、元戻しが大変ですから。
No.1
- 回答日時:
こんにちは。
maruru01です。「Visual Basic」のカテゴリーということは、マクロ(VBA)で行いたいということでしょうか。
支店数が5ということでしたら、総計を入れて6行分追加して関数を入力するだけで、手作業でやった方が早いと思いますが。
それとも、そのようなファイル(やシート)がたくさんあって、マクロで自動化したいということでしょうか。
もしくは、単に入力する関数がわからないということでしょうか。
補足して下さい。
この回答への補足
早速のご回答ありがとうございます。
質問の仕方が悪く、趣旨がうまく伝わらなくて申し訳ありません。
行がたくさんあります。しかも月によって一支店分の行数が不定です。
A列
1234
1234
1234
・
・
・
1234
(1行挿入) J列小計、K列小計
5678
5678
5678
・
・
・
5678
(1行挿入) J列小計、K列小計
7890
7890
のように1234や5678の最後の行をつかみ、下に行を挿入し、J列、K列の数値の小計を出したいのです。そして全支店の総合計も出したいのです。手作業ですとかなり時間がかかりますし、毎月のことですので、BVAで自動化できないものかと思ったのです。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Visual Basic(VBA) ユーザーフォームで銀行に対応した支店コードの入力ができません Sheet1のA列に銀行名、B列に銀行 5 2022/07/28 17:50
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Excel(エクセル) SUBTOTAL SUMIF?? 2 2023/03/16 11:25
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 特定文字(数字)で行挿入、挿入された行で合計したい 2 2023/03/13 14:30
- Visual Basic(VBA) VBAで大量データの処理 3 2022/11/15 21:53
- Excel(エクセル) 関数を教えてください 2 2022/12/29 21:01
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
URLのリンク切れをマクロを使っ...
-
データグリッドビューの一番最...
-
VBA 何かしら文字が入っていたら
-
IIF関数の使い方
-
VBAのFind関数で結合セルを検索...
-
マクロについて。S列の途中から...
-
VBAで重複データを確認したい
-
文字列があるセルを認識したい...
-
VBAでのリスト不一致抽出について
-
【VBA】2つのシートの値を比較...
-
エクセル 2つの表の並べ替え
-
オートフィルタをマクロで作成...
-
Changeイベントでの複数セルの...
-
DataGridViewにリンク列の追加...
-
EXCEL2010VBAで重複しない名前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
IIF関数の使い方
-
Changeイベントでの複数セルの...
-
【VBA】2つのシートの値を比較...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
VBAのFind関数で結合セルを検索...
-
DataGridViewに空白がある場合...
-
VBAを使って検索したセルをコピ...
-
文字列の結合を空白行まで実行
-
データグリッドビューの一番最...
-
VBAでのリスト不一致抽出について
-
エクセル 2つの表の並べ替え
-
rowsとcolsの意味
-
【Excel VBA】 B列に特定の文字...
-
VBA 列が空白なら別のマクロへ...
おすすめ情報