Использование логического оператора «ИЛИ» для сравнения строк - PullRequest
0 голосов
/ 02 мая 2018
For i = Last To 2 Step -1
    If Not (Cells(i, "A").Value) Like "*exe" Or (Cells(i, "A").Value) Like "*dll" Or (Cells(i, "A").Value) Like "*ocx" Then
        Cells(i, "A").EntireRow.Delete
    End If
Next i

Привет всем, я немного новичок в VBA и задавался вопросом, могу ли я получить некоторую помощь. Здесь я пытаюсь удалить все строки, которые не заканчиваются на «exe», «dll» или «ocx». Выполнив все как есть, он удалит все строки, которые не заканчиваются на «exe». Не уверен, что я использую правильный синтаксис в этом случае. Я уже пробовал искать в форуме, как обычно, но на этот раз я в тупике ... был бы признателен за любую помощь и извинения, если бы об этом спрашивали раньше. Спасибо!

1 Ответ

0 голосов
/ 02 мая 2018

Думаю, вы только что перепутали свои скобки. Вам нужен только один, включающий весь пункт после Not.

For i = Last To 2 Step -1
    If Not (Cells(i, "A").Value Like "*exe" Or Cells(i, "A").Value Like "*dll" Or Cells(i, "A").Value Like "*ocx") Then
        Cells(i, "A").EntireRow.Delete
    End If
Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...