HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > 合計行の直前に詳細入力行を挿入する

即効テクニック

セル操作関連のテクニック

合計行の直前に詳細入力行を挿入する

(Excel 97/2000)
次のような表があるとします。

       Aさん  Bさん  Cさん
得点1    5       2        1
得点2    2       4        4
得点3    7       9        6
得点4    3       3        9
合計    17      18       20
最高点   7       9        9

サンプルマクロは、合計行の直前に、次の得点を入力するための行を挿入します。
準備として標準モジュールに次のマクロを作成してください。
Sub Sample()
    Dim myRow As Integer
    
    myRow = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(-1).Row

    Rows(myRow).Insert Shift:=xlDown

End Sub
「Cells(ActiveSheet.Rows.Count, 1)」で、シートの最終行「65536」を取得しています。
「End(xlUp)」は、最終行から上端セル(最高点行位置)を取得します。
Endプロパティは、[Ctrl]+方向キーに相当するプロパティです。
Offsetプロパティを使うと、基準となるセル(最高点行)から指定された数だけ移動することができるので、「Offset(-1).Row」で1つ上の行(合計行)位置が変数「myRow」に代入されます。
Insertメソッドで行を挿入(下方向にシフト)します。