'допущения: анализ с первой строки по последюю строку области данных текущего листа; 'числа в колонках A, B, C Public Sub RemoveNegativeRows() Dim vLastRow As Long, i As Long, vCount As Long vLastRow = ActiveSheet.UsedRange.Rows.Count i = 1& Do Until i > vLastRow vCount = 0& If IsNumeric(Cells(i, 1&).Value) Then If Cells(i, 1&).Value > 0# Then vCount = vCount + 1& End If If IsNumeric(Cells(i, 2&).Value) Then If Cells(i, 2&).Value > 0# Then vCount = vCount + 1& End If If IsNumeric(Cells(i, 3&).Value) Then If Cells(i, 3&).Value > 0# Then vCount = vCount + 1& End If If vCount < 2& Then vLastRow = vLastRow - 1& Cells(i, 1&).EntireRow.Delete Shift:=XlDeleteShiftDirection.xlShiftUp Else i = i + 1& End If Loop End Sub |