[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『列にある空白行に小計を入れる(VBA)』(やーちゃん)
いつも拝見させていただいております。
商品の受注数量と出荷数の集計表をマクロで以下のように作りたいと思っています。
A B C A B C
1 商品名 受注数 出荷数 1 商品名 受注数 出荷数
2 A 5 2 2 A 5 2
3 A 6 6 3 A 6 6
4 B 4 4 4 11 8 ←A小計
5 B 12 10 5 B 4 4
6 B 4 4 ⇒ 6 B 12 10
7 C 5 3 7 B 4 4
8 C 5 3 8 20 18 ←B小計
9 C 16 12 9 C 5 3
10 D 2 2 10 C 16 12
11 21 15 ←C小計
12 D 2 2
13 2 2 ←D小計
左表の元データから、各商品の間に行を挿入し、挿入行のB列とC列に各商品の小計を加えたいです。
また、各商品の行数は日々変わってしまいます..
ネットにあったマクロのパクリですが、各商品の間に行挿入を行うマクロを以下のように組んでおります。
Dim i As Long
For i = Range("E" & Rows.Count).End(xlUp).Row To 3 Step -1
If Range("E" & i).Value <> Range("E" & i - 1).Value Then
Rows(i).Insert
End If Next i
行を挿入したあとに、小計を入れる方法を教えていただけないでしょうか?
よろしくお願いいたします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
普通に小計の方が簡単だと思うけど。 ピボットとか色々あるし。 (BJ) 2020/05/19(火) 13:39
Dim j As Long
Dim r As Long
r = 2
For j = 2 To Range("E" & Rows.Count).End(xlUp).Row + 1
If Range("E" & j).Value = "" Then
Range("F" & j).Formula = "=SUM(F" & r & ":F" & j - 1 & ")"
Range("G" & j).Formula = "=SUM(G" & r & ":G" & j - 1 & ")"
r = j + 1
End If
Next j
(きまぐれ) 2020/05/19(火) 13:58
回答ありがとうございます。
相手先より、この表の形での提出を求められておりましてこのような質問を投稿した次第です。
ピボットやもっと見やすい形状での提案もしたのですが、絶対にこの形でということだそうで...
きまぐれさん
回答ありがとうございます。
頂いた、コードを使用して作成させることができました!
自分のVBA的発想がまだまだ足りないと感じさせられました...
お二方ともすぐに回答していただき大変助かりました!
ありがとうございます!!
(やーちゃん) 2020/05/19(火) 14:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.