Ребят, подскажите, что я делаю не так. В столбце "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
Для начала уберите цифру заменяющую букву в вашем нике - это нарушает правила форума, иначе модераторы скроют всю помощь. Ну и честно говоря, я не шарю в VBA, но , мне кажется, что и моих познаний в ТрупоПаскале 15 летней давности хватает чтобы увидеть причину зацикленности. Ждем корректировки ника.
Sub Find()
Dim c As Range
Dim firstResult As String
'Set oTwb = ThisWorkbook
'Set oSh1 = oTwb.Sheets(1)
With Range("A1: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