合計・平均を求めるコード No.2

行列の挿入・削除をしても計算可能


 
[標準モジュール module1] ----- '行列の挿入・削除をしても計算可能 Public Lc, Lr As Integer Sub 縦計横計() Lr = Range("B2").End(xlDown).Row '最終行 Lc = Range("C1").End(xlToRight).Column '最終列 For i = 1 To Lc - 2 '二列分を引算 Cells(Lr + 2, i + 2).FormulaR1C1 = _ "=SUM(R2C:R[-2]C)" '縦計 Next i For j = 1 To Lr - 1 '一行分を引算 Cells(j + 1, Lc + 2).FormulaR1C1 = _ "=SUM(RC3:RC[-2])" '横計 Next j For k = 1 To Lc - 2 Cells(Lr + 3, k + 2).FormulaR1C1 = _ "=ROUND(AVERAGE(R2C:R[-3]C), 1)" '縦平均 Next k For p = 1 To Lr - 1 Cells(p + 1, Lc + 3).FormulaR1C1 = _ "=RANK(RC[-1], R2C[-1]:R" & Lr & "C[-1])" '順位 'この Lr に数値が入り 『" & Lr & "』 で最終行を意味する Next p Range("A1").Activate End Sub [標準モジュール module2] ----- Sub 結果消去() Range(Cells(Lr + 2, 3), Cells(Lr + 3, Lc)).ClearContents Range(Cells(2, Lc + 2), Cells(Lr, Lc + 3)).ClearContents End Sub 《補足》 行列の挿入・削除をしても計算可能で、なおかつ 途中に空白セル・ 空白行・空白列があっても計算可能なモジュールについては、 を 参照のこと。 next back top