Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Замена значений с помощью .find
 
Цитата
Казанский написал:
Можно просто заменитьКод ? 123    range("A2:A20").Replace What:="????*", Replacement:="Да", LookAt:=xlWhole, _        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _        ReplaceFormat:=False
Насколько я помню, replace будет искать в диапазоне именно значение "????*", а не значения от 4 знаков и более  
Замена значений с помощью .find
 
Цитата
Kuzmich написал:
Loop While Not c Is Nothing
То есть нужно было просто объявить переменные, чтобы закрыть цикл, опираясь на длину значения?
Хитро - спасибо!
Замена значений с помощью .find
 
Цитата
PooHkrd написал:
увидеть причину зацикленности
Код выходит из цикла - но с ошибкой
Run-time error '91'
Object variable or With block variable not set
Замена значений с помощью .find
 

Ребят, подскажите, что я делаю не так.
В столбце "A" представлены числовые значения от 5 знаков и значение "Нет".
Небольшой макрос для замены значений отрабатывает корректно, но, заменив последнее значение, не может выйти из цикла.

Почему?
Или возможно стоит искать именно числовые значения как-то иначе?

Код
Sub Find()

Set oTwb = ThisWorkbook
Set oSh1 = oTwb.Sheets(1)
With oSh1.Range("A2:A20")
    Set c = .Find("????*", LookIn:=xlValues)
    If Not c Is Nothing Then
        firstResult = c.Address
        Do
            c.Value = "Да"
            Set c = .Find("????*", After:=c, LookIn:=xlValues)
        Loop While Not c Is Nothing And c.Address <> firstResult
    End If
End With

End Sub
Изменено: mistical - 24.01.2018 15:21:14
Страницы: 1
Наверх