powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / не работает FindNext(s) в Excel
4 сообщений из 4, страница 1 из 1
не работает FindNext(s) в Excel
    #34910955
konvoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том же примере не отрабатывается операция FindNext(s), т.е. к началу выполнения цикла Do .. Loop текущая строка последняя, а (s Is Nothing) не дает и s имеет начальное значение по операции .Find(...). Почему не работает FindNext(s)?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
With Worksheets( 1 ).Range("D1:D" & LTrim(Str(Num))) ' Диапазон поиска по столбцу D, где Num заведомо больше числа Row в таблице
Set s = .Find(Cont, LookIn:=xlValues)
If s Is Nothing Then 
операции  1  .......... 
Else
Do ' -----------------------поиск непогашенной операции
Set s = .FindNext(s)
r = c.Row
Loop Until ((s Is Nothing) Or (Range("M" & r).Value = ""))

if s Is Nothing Then
операции  2 
else
операции  3 
end if
End if
...
End With
Модератор:
используйте теги форматирования кода
...
Рейтинг: 0 / 0
не работает FindNext(s) в Excel
    #34911110
tolikt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что в "операции 1" и т. п.?
Если в "операциях №" встречается, например, метод Replace, то после него FindNext будет врать. Это можно прочитать в хелпе по Replace.
Так что для начала надо покопать там.
...
Рейтинг: 0 / 0
не работает FindNext(s) в Excel
    #34911396
konvoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Replace не применяю, но попробую сделать, что бы за .Find сразу шел .FindNext.
...
Рейтинг: 0 / 0
не работает FindNext(s) в Excel
    #34912606
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
konvoyВ том же примере не отрабатывается операция FindNext(s), т.е. к началу выполнения цикла Do .. Loop текущая строка последняя, а (s Is Nothing) не дает и s имеет начальное значение по операции .Find(...). Почему не работает FindNext(s)?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
With Worksheets( 1 ).Range("D1:D" & LTrim(Str(Num))) ' Диапазон поиска по столбцу D, где Num заведомо больше числа Row в таблице
Set s = .Find(Cont, LookIn:=xlValues)
If s Is Nothing Then 
операции  1  .......... 
Else
Do ' -----------------------поиск непогашенной операции
Set s = .FindNext(s)
r = c.Row
Loop Until ((s Is Nothing) Or (Range("M" & r).Value = ""))

if s Is Nothing Then
операции  2 
else
операции  3 
end if
End if
...
End With
Модератор:
используйте теги форматирования кода

1. r = c.Row м.б. д.б. r = s.Row
2. Loop Until ((s Is Nothing) Or (.Range("M" & r).Value = ""))
и вообще это условие бред
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / не работает FindNext(s) в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]