[[20200519122029]] 『列にある空白行に小計を入れる(VBA)』(やーちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『列にある空白行に小計を入れる(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


BJさん

回答ありがとうございます。

相手先より、この表の形での提出を求められておりましてこのような質問を投稿した次第です。
ピボットやもっと見やすい形状での提案もしたのですが、絶対にこの形でということだそうで...

きまぐれさん

回答ありがとうございます。

頂いた、コードを使用して作成させることができました!
自分のVBA的発想がまだまだ足りないと感じさせられました...

お二方ともすぐに回答していただき大変助かりました!

ありがとうございます!!
(やーちゃん) 2020/05/19(火) 14:57


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.