VBA 行または列全体を削除する – Excel の自動化 Excel の自動化

このチュートリアルでは、VBA を使用して Excel で行や列を削除するさまざまな方法を説明します。

行または列全体を削除

VBAで行全体を削除するには、次のコードのラインを使用します:

Rows(1).Delete

行を削除するのに Delete メソッドを使用していることに注意してください。

Rows オブジェクトを参照する代わりに、EntireRow を使用して Range オブジェクトに基づいて行を参照することができます:

Range("a1").EntireRow.Delete

同様に、列全体を削除するには、次のコードの行を使用します。

Columns(1).Delete
Range("a1").EntireColumn.Delete

Delete Multiple Rows or Columns

同じロジックを使用して、一度に複数の行を削除することもできます:

Rows("1:3").Delete

また列を削除することもできます:

Columns("A:C").Delete

ここで、特定の行や列番号/文字に引用符で囲まれ参照していることに注意してください。

もちろん、範囲の EntireRow を参照することもできます。

Range("a1:a10").EntireRow.Delete

注意: 以下の例は行の削除のみを示していますが、上で見たように、構文は列の削除とほとんど同じです。

Delete Blank / Empty Rows

この例では、行全体が空白である場合に行を削除します:

Sub DeleteRows_EntireRowBlank()Dim cell As RangeFor Each cell In Range("b2:b20") If Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Then cell.EntireRow.Delete End IfNext cellEnd Sub

Excel ワークシート関数を使用しています。 COUNTA.

Delete Row if Cell is Blank

これは、その行の特定の列(この場合は列 B)が空白の場合に行を削除します。

Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Delete Row Based on Cell Value

これは、範囲を通してループし、行の特定のセル値が「削除」を示す場合は行を削除するものです。

Sub DeleteRowswithSpecificValue()Dim cell As RangeFor Each cell In Range("b2:b20") If cell.Value = "delete" Then cell.EntireRow.Delete End IfNext cellEnd Sub

More Delete Row and Column Examples

Delete Duplicate Rows

このコードは、範囲内のすべての重複した行を削除します。 これは、行が重複しているかどうかを検討する際に、データの最初の 2 列の両方をチェックするように VBA に指示します。 重複は、両方の列に重複する値がある場合にのみ検出されます。

これを 1 に設定していた場合、最初の行だけが重複値についてチェックされたでしょう。

ThisWorkbook.Sheets("Sheet1").ListObjects("list1").ListRows(2).Delete

フィルタリングされた行を削除

フィルタリング後に表示されている行のみを削除する場合:

Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

範囲内の行を削除

このコードは、範囲内のすべての行を削除します。

Range("a1:a10").EntireRow.Delete

選択した行を削除

このコードは、選択した行をすべて削除します:

Selection.EntireRow.Delete

最後の行を削除

これは、B列で最後に使用した行を削除します:

Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete

2を1に変更すると、A列などでの最後の使用行を削除することができます。:

Cells(Rows.Count, 1).End(xlUp).EntireRow.Delete

番号で列を削除する

番号で列を削除するには、次のようなコードを使用します:

コメントを残す

メールアドレスが公開されることはありません。