К примеру на листе список есть 3 столбца. Если значение первого столбца не совпало со значением третьего столбца, то он удаляет такую строчку
--------------------------------------------------------------------------------
Добавленное сообщение
--------------------------------------------------------------------------------
я вижу это примерно так:
Код: Выделить всё
Sub Macros()
Dim Spisok As Worksheet
Set Spisok = ThisWorkbook.Sheets("page")
While Spisok.Cells(r, 1) <> ""
If (Left(Sheets("page").Cells(r, 15).Value, Len(b)) = b) Or (Sheets("page").Cells(r, 15).Value = d) _
Or ((Sheets("page").Cells(r, 12).Value <> e) And _
(Sheets("page").Cells(r, 12).Value <> f) And (Sheets("page").Cells(r, 12).Value <> g)) Then
Spisok.Rows(r).Delete
End If
Wend
r = r + 1
End Sub
Добавленное сообщение
--------------------------------------------------------------------------------
либо так :
Код: Выделить всё
Sub Macros()
While Sheets("page").Cells(r, 1) <> ""
If (Left(Sheets("page").Cells(r, 15).Value, Len(b)) = b) Or (Sheets("page").Cells(r, 15).Value = d) _
Or ((Sheets("page").Cells(r, 12).Value <> e) And _
(Sheets("page").Cells(r, 12).Value <> f) And (Sheets("page").Cells(r, 12).Value <> g)) Then
Rows("r:r").Select
Selection.Delete Shift:=xlUp
End If
r = r + 1
Wend
End Sub
Добавленное сообщение
--------------------------------------------------------------------------------
Но дело в том. что не один вариант не работает. не понимаю что делать ...
--------------------------------------------------------------------------------
Добавленное сообщение
--------------------------------------------------------------------------------
ну понятное дело. что за переменные, я здесь принимаю какие то собственные значения. И с ними сравниваю значение ячеек.