人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAについて質問です。

範囲を選択している際のマクロでは、Selection.Rowメソッドでは選択範囲の上の行の値を返しますが、
範囲の下の値を返すメソッドは何でしょう?

例えば3行目から7行目。

選択した範囲の行全体を削除したいです。


●質問者: ReoReo7
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:VBA エクセル マクロ メソッド
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント ベストアンサー

選択範囲が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
◎質問者からの返答

どうもご丁寧にありがとうございます。


2 ● きゃづみぃ
●35ポイント

a = Selection.Address(False, False, xlA1)

a = Range(Right(a, Len(a) - InStr(a, ":"))).Row

これで 下の行が aに入ります。

◎質問者からの返答

別のやり方もあるのですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ