即効テクニック |
次のような表があるとします。 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メソッドで行を挿入(下方向にシフト)します。