範囲を選択している際のマクロでは、Selection.Rowメソッドでは選択範囲の上の行の値を返しますが、
範囲の下の値を返すメソッドは何でしょう?
例えば3行目から7行目。
選択した範囲の行全体を削除したいです。
選択範囲が1つの範囲ならば
Selection.Row + Selection.Rows.Count - 1
で下の行になります。複数の範囲だとまた違ってきます。
削除するには、
Sub test() Dim r1 As Long Dim r2 As Long r1 = Selection.Row r2 = r1 + Selection.Rows.Count - 1 ActiveSheet.Rows(r1 & ":" & r2).Delete End Sub
選択範囲が1つの範囲ならば
Selection.Row + Selection.Rows.Count - 1
で下の行になります。複数の範囲だとまた違ってきます。
削除するには、
Sub test() Dim r1 As Long Dim r2 As Long r1 = Selection.Row r2 = r1 + Selection.Rows.Count - 1 ActiveSheet.Rows(r1 & ":" & r2).Delete End Sub
どうもご丁寧にありがとうございます。
a = Selection.Address(False, False, xlA1)
a = Range(Right(a, Len(a) - InStr(a, ":"))).Row
これで 下の行が aに入ります。
別のやり方もあるのですね。
どうもご丁寧にありがとうございます。