Удалить строки (столбец критериев)
Версия для союза
Sub DelRows()
Const cSheet As Variant = 1 ' Worksheet Name/Index
Const cFirst As Long = 1 ' First Row Number
Const cColumn As Variant = "C" ' Criteria Column Letter/Number
Dim rngU As Range ' Union Range
Dim LastUR As Long ' Last Used Row
Dim r As Long ' Row Counter
With ThisWorkbook.Worksheets(cSheet)
' Check if worksheet is empty.
If .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), -4123, , 1) _
Is Nothing Then Exit Sub
' Calculate Last Used Row.
LastUR = .Cells.Find("*", , , , , 2).Row
' Add found criteria first (can be any) column cells to Union Range.
For r = cFirst To LastUR ' Rows
If IsEmpty(.Cells(r, cColumn)) Then
If Not rngU Is Nothing Then
Set rngU = Union(rngU, .Cells(r, 1))
Else
Set rngU = .Cells(r, 1)
End If
End If
Next
End With
' Delete rows in one go.
If Not rngU Is Nothing Then
rngU.EntireRow.Delete ' .Hidden = True
Set rngU = Nothing
End If
End Sub
задан Peter O. 21 October 2013 в 21:11
поделиться