| 
    
     |  | ダウンロードしたデータの小計金額と合計金額の値を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の書き方がわからないので、本投稿にあたり「???」で代替しています。
 
 |  |