対象セルを含む行全体/列全体を参照する(EntireRow/EntireColumnプロパティ)|Excel VBA |
対象のセル範囲を含む行全体(EntireRowプロパティ)、または列全体(EntireColumnプロパティ)を表すRangeオブジェクトを返します。
構文 Object. EntireRow 行全体の参照 取得のみ
Object. EntireColumn 列全体の参照 取得のみ
| 設定項目 | 内容 |
|---|---|
| Object | Rangeオブジェクト |
次のマクロは、2行目以降のA列の値が1のとき、行全体を削除します。
Sub Sample()
Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 '---(1)
If Cells(i, 1).Value = 1 Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub
Sampleプロシージャの(1)で、列番号の大きい方から上方向にループさせているのは、行を削除すると、削除された行以降の行番号がプログラム実行中に変化していくためです。
ループ処理で行を削除する場合は、下から上に向かって行うのが鉄則です。