Найти все значения с в диапазоне, а затем смещение - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь написать код VBA, который ищет термин "DREK" в столбце BI. Если член присутствует в ячейке, он сместит (0,1) значение «1».

Я использовал приведенный ниже код, однако он только найдет и сместит первый «drek», а затем остановится. Мне это нужно, чтобы он делал это с каждым найденным дреком.

Как я могу это сделать?

Sub find_drek()
    Dim rng As Range
    Dim cl As Range
    Dim sFind As String

    sFind = "drek"
    Set rng = Range("BI2", Range("BI65536").End(xlUp))
    Set cl = rng.find(sFind, LookIn:=xlValues)
    If Not cl Is Nothing Then cl.Offset(0, 1).Value = "1"
End Sub

1 Ответ

1 голос
/ 29 апреля 2020

Вы можете попробовать это:

Dim rng As Range
Dim sFind As String

sFind = "drek"

For Each rng In Range("BI2", Range("BI65536").End(xlUp))
    If Not rng.Find(sFind, LookIn:=xlValues) Is Nothing Then
        rng.Offset(0, 1).Value = "1"
    End If
Next rng

Таким образом, вам не нужен другой объект диапазона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...