|
ダウンロードしたデータの小計金額と合計金額の値をSUM関数に置き換えたいのですが、うまくできないので、ご教授願います。
商品1 商品2
北海道 旭川 5,360 32,130
北海道 札幌 19,190 77,750
---------------------------------------------
北海道計 24,550 109,880
---------------------------------------------
東北 仙台 1,710 33,870
東北 山形 3,580 23,300
東北 秋田 2,270 27,750
---------------------------------------------
東北計 7,560 84,920
=============================================
地区合計(あ) 32,110 194,800
=============================================
デパート Cデパート 14,050 67,150
デパート Dデパート 28,980 77,800
---------------------------------------------
デパート計(い) 43,030 144,950
---------------------------------------------
コンビニ コンビニE 23,240 13,590
コンビニ コンビニF 16,580 20,400
---------------------------------------------
コンビニ計(う) 39,820 33,990
=============================================
合計(あ+い+う) 114,960 373,740
=============================================
ダウンロードしたデータには小計金額と合計金額が値で既にあるので、EXCEL集計機能では不具合が生じます・・・
2箇所の合計欄には =SUM(C4,C11,C19) のような数式に置き換えるのを目標にしています。
**************************************************************************
Sub TEST()
Dim MaxRow As Long
Dim i As Long
Dim j As Integer
Dim k As Long
MaxRow = Range("A65536").End(xlUp).Row
LastColumn = Range("C4").End(xlToRight).Column
For i = 4 To MaxRow
If Right(Cells(i, 1).Value, 1) = "計" Then
For j = 3 To LastColumn
Cells(i, j).FormulaR1C1 = "=SUM(R[-1]C:R[-" & k & "]C)"
Next
k = 0
ElseIf Right(Cells(i, 1).Value, 1) = "合計" Then
For j = 3 To LastColumn
Cells(i, j).FormulaR1C1 = "=SUM(???)"
Next
k = 0
Else
k = k + 1
End If
Next
End Sub
**************************************************************************
"計"の部分はきちんとSUM関数に置き換えられます。条件分岐するつもりで「ElseIf節」を使ってみましたが、上記「???」部分が妙らしく循環エラーになってしまいます。
「???」部分は、=SUM(C4,C11,C19) のような結果を複数列にわたって反映させるR1C1の書き方がわからないので、本投稿にあたり「???」で代替しています。
|
|