Написала самостоятельно макрос удаляющий строки по двум условиям (начиная с 6 строки: второй и пятый столбец если равно 0 то удалить строку полностью). Но не работает, в чем ошиблась? буду благодарна
Код
[LEFT]Sub mmm()
Set Sht = Application.ActiveWorkbook.ActiveSheet
Dim i As Integer
i = 6
For i = 6 To 1400
If Cells(i, 2).Value = 0 And Cells(i, 5).Value = 0 Then
Call Rows(i).Delete
Else
i = i + 1
End If
Next
End Sub[/LEFT]
Sub mmm()
Dim i As Integer
Dim iLastRow As Integer
iLastRow = Cells(Rows.Count, 5).End(xlUp).Row
For i = iLastRow To 6 Step -1
If Cells(i, 2).Value = 0 And Cells(i, 5).Value = 0 Then
Rows(i).Delete
End If
Next i
End Sub
Sub УдалениеСтрокПоУсловию()
Dim delra As Range, i&
Application.ScreenUpdating = False ' отключаем обновление экрана
For i = 6 To 1400
If Val(Cells(i, 2).Value) = 0 And Val(Cells(i, 5).Value) = 0 Then
' добавляем строку в диапазон для удаления
If delra Is Nothing Then Set delra = Cells(i, 2) Else Set delra = Union(delra, Cells(i, 2))
End If
Next
' если подходящие строки найдены - удаляем их
If Not delra Is Nothing Then delra.EntireRow.Delete
End Sub
Взял Sub mmm(), сделал для него файл - всё прекрасно работает. Только конечно в общем случае integer там не годится - на любом листе строк всегда больше. Занятых может быть меньше - но всего всегда больше!
Игорь, я видела в форуме данный готовый макрос. Однако решила что макрос относится к поиску текста. Но ваш макрос почему то не работает почему то. Может быть потому что 5 столбец короче чем 2-й?