vba:行の一括削除

mmm-program.com

 

こちらの記事を参考にさせていただきました!

 

```

Private Sub DeleteNgRows()

Dim row_End As Long
Dim rng_DeleteRows As Range

'最終行取得
row_End = ThisWorkbook.Worksheets("pivot").Cells(Rows.Count, 1).End(xlUp).Row

Dim i As Long
For i = 2 To row_End

    'Rangeに削除対象行を格納 ※今回はB列が空白なら削除。
    If IsEmpty(ThisWorkbook.Worksheets("pivot").Cells(i, 1)) Or IsNumeric(ThisWorkbook.Worksheets("pivot").Cells(i, 1)) = False Then
        '初回のみ
        If rng_DeleteRows Is Nothing Then
            Set rng_DeleteRows = ThisWorkbook.Worksheets("pivot").Rows(i).EntireRow
        '2回目以降は追加
        Else
            Set rng_DeleteRows = Union(rng_DeleteRows, ThisWorkbook.Worksheets("pivot").Rows(i).EntireRow)
        End If
    End If
Next

'削除対象行が1つでもあれば行削除を実施
If Not rng_DeleteRows Is Nothing Then rng_DeleteRows.Delete

End Sub

```