|
忍 さん、こんばんわ。
>このように最初の数字が出力され、任意の個数
>出力されたあとに、空白のセルになります。
>最初の数字から空白のセルまでの足し算をする
>計算式を入れて下記のような感じにできないものかと
>悩みました。
空白のセルが一つ入るとして、下から数式を追加していく方法です。
Sub test()
Dim r1 As Range, r2 As Range
'表示中のシート
With Application.ActiveSheet
'一番下からチェック
Set r1 = Range("A65536").End(xlUp) 'End + ↑を押したのと同じ挙動
'開始
Do
Set r2 = r1.End(xlUp) '連続範囲の一番上
r1.Offset(1, 0).Formula = "=SUM(" & r2.Address(False, False) & ":" & r1.Address(False, False) & ")"
r1.Offset(1, 0).Interior.ColorIndex = 44
Select Case r2.Row
Case 1, 2:
Exit Do 'これ以上上に連続範囲はなし
Case 3:
r2.Offset(-1, 0).Formula = "=A1" '合計する必要なし
Exit Do
Case Else
Set r1 = r2.Offset(-2, 0) '続行
End Select
Loop
End With
End Sub
こんな感じです。
1列にしかデータが入っていない場合は、連続範囲を取得するのにCurrentRegionを使ってもいいかも。
|
|