Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / метод Find , FindNext и как с ними работать / 5 сообщений из 5, страница 1 из 1
06.11.2006, 13:37:08
    #34107048
dacino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод Find , FindNext и как с ними работать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
With Worksheets( 1 ).Range("a1:a50")
    Set c = .Find( 2 , LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Value =  5 
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
->взято из экселевской справки, незатейлевый вроде пример
может конечно я чего то не понимаю, но:
-создаю новую книгу,
-на первом листе ячейки допустим с 3-й по 7-ю заполняю двойками,
-запускаю макрос с выше описанным содержаним
и что бы вы думали, все двойки заменяются 5-ми, да щас, когда c=Nothing у меня вылетает ошибка, типа нет у объекта с свойства Address, в общем с дебагером я полностью по этому поводу согласен, а вот как сделати так, чтоб это все заработало?
в макрописании не силен, так что сильно не ругайте
...
Рейтинг: 0 / 0
06.11.2006, 14:46:08
    #34107155
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод Find , FindNext и как с ними работать
Вот здесь Senin Viktor меня предупреждал об этой ошибке. Сам топик немного про другое, но это сообщение как раз про это.

...
Рейтинг: 0 / 0
06.11.2006, 15:10:15
    #34107195
dacino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод Find , FindNext и как с ними работать
k-nikeВот здесь...
конечно спасибо, но у меня это не функция а часть sub, а вызывать этот блок через функцию мне крайне не удобно, можно ли еще как-нибудь решить эту проблему без горожения огорода
...
Рейтинг: 0 / 0
06.11.2006, 16:07:15
    #34107261
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод Find , FindNext и как с ними работать
dacino k-nikeВот здесь...
конечно спасибо, но у меня это не функция а часть sub, а вызывать этот блок через функцию мне крайне не удобно, можно ли еще как-нибудь решить эту проблему без горожения огорода
Походу вы толком мое сообщение не прочли, да и ссылку не внимательно посмотрели.
Еще раз.
Сам топик по ссылке про другую проблему, а вот сообщение выделенное зеленым надо было внимательно прочесть!!! Там предлагается такой вариант.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    With Worksheets( 1 ).Range("a1:a50")
        Set c = .Find( 2 , LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do                
                c.Value =  5 
                Set c = .FindNext(c)
                If c Is Nothing Then Exit Do 'Здесь изменение!
            Loop While c.Address <> firstAddress
        End If
    End With
...
Рейтинг: 0 / 0
06.11.2006, 17:04:54
    #34107374
dacino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
метод Find , FindNext и как с ними работать
zzz, сто раз сории, не как не привыкну к VB для меня Exit do -это два разных оператора, а вот для VB оказывается один
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / метод Find , FindNext и как с ними работать / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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