#excel #vba
Вопрос:
У меня проблема с использованием Like
оператора в VBA. Если я хочу посмотреть, содержит ли ячейка определенный текст, такой как «ABC» или «CBN», Like
для меня это не работает.
Кроме того, иногда ячейка может иметь значение «ABC 1», «ABC 2», «ABC 3» или что-то в этом роде. Но я просто хочу использовать Like
, чтобы увидеть, есть ли в ячейке только «ABC». Это говорит о том, что это правда, даже если ячейка может сказать «ACB» или «ABD». Я хочу, чтобы это была именно азбука, и ничего больше. Как я могу это исправить?
For Each ws In ThisWorkbook.Worksheets
If ws.Name Like "Positions *" Then
clause = Range("AM3") Like "ABC*" >>>>> clause returns as TRUE if the actual cell value says ABD or ACB, this was also a test of what the line below will return
If Range("AM3") Like "*ABC*" Then
Name = "Bananas"
End If
End If
Next
Комментарии:
1. Я не могу воспроизвести это, но, по-видимому, это потому, что вы не определили диапазон. Всем вашим вызовам в диапазоне должны предшествовать
ws.
2. Как вы думаете
ws.Select
, это тоже уместно? @Warcupine3. Нет,
select
в 99,9% случаев в VBA нет необходимости в чем-либо.4. Я думаю, что в этом и была проблема. Спасибо!