HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > 名前が定義されている範囲以下の行を全て削除する

即効テクニック

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

名前が定義されている範囲以下の行を全て削除する

(Excel 97)
セルA1からセルA10の範囲に「サンプル」という名前を定義してあるとします。
セルA10より下の行の不要なデータを削除するために、A10より下の行を削除します。
サンプルマクロでは、名前が付いた範囲をGotoメソッドを使ってアクティブにしてから、選択されている範囲の行数をカウントして、取得した行数の次の行からシートの一番下の行(65536行目)までを削除しています。
Sub Sample()
    Dim my_Row As Long
    
    Application.Goto Reference:="サンプル"
    my_Row = Selection.Rows.Count
    Application.Rows(my_Row + 1 & ":65536").Delete
    
End Sub
Gotoメソッドは、任意のブック内の任意のセル範囲を選択します。
構文は次のとおりです。

<構文> expression.Goto(Reference, Scroll)

expression:必ず指定します。Applicationオブジェクトを指定します。
Reference :省略可能です。移動先を指定します。Rangeオブジェクト、R1C1形式の
      セル参照文字列です。この引数を省略すると、移動先は直前に
      Gotoメソッドを使ったときのセル範囲になります。
Scroll  :省略可能です。移動先セル範囲の左上端がウィンドウの左上端に
      表示されるように、ウィンドウをスクロールするには、Trueを指定
      します。ウィンドウをスクロールしないようにするには、Falseを
      指定します。既定値はFalseです。