Я пытаюсь понять, как использовать оператор Or
в VBA. Я не очень знаком с этим языком, который вы могли бы сказать.
Следующая часть кода работает просто отлично:
FirstRow = 2
LastRow = Cells(Rows.Count, "K").End(xlUp).Row - 1
For r = LastRow To FirstRow Step -1
If Cells(r, "K") <> 114 Then
Rows(r).Delete
End If
Next r
Удаляет строки, не содержащие числа 114. Проблема в том, что я хочу также включить числа 136 и 139. Я хочу сохранить только строки, содержащие 114, 136 или 139 в столбце K (плюс заголовок и итоговая строка).
Я пробовал несколько похожих на:
FirstRow = 2
LastRow = Cells(Rows.Count, "K").End(xlUp).Row - 1
For r = LastRow To FirstRow Step -1
If Cells(r, "K") <> 114 Or _
Cells(r, "K") <> 136 Or _
Cells(r, "K") <> 139 Then
Rows(r).Delete
End If
Next r
Эти коды просто удаляют все, кроме заголовков и итоговой строки.
Что я делаю не так?
Полный код:
Sub SouthEast()
Dim answer As Integer
answer = MsgBox("Continue?", vbYesNo + vbQuestion, "Show only South East")
If answer = vbYes Then
Dim r As Long
Dim FirstRow As Long
Dim LastRow As Long
FirstRow = 2
LastRow = Cells(Rows.Count, "K").End(xlUp).Row - 1
For r = LastRow To FirstRow Step -1
If Cells(r, "K") <> 114 Or _
Cells(r, "K") <> 136 Or _
Cells(r, "K") <> 139 Then
Rows(r).Delete
End If
Next r
Else
'Do nothing
End If
End Sub