
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.07.2007, 11:22:14
|
|||
|---|---|---|---|
|
|||
Работа с Find в макросе. |
|||
|
#18+
Решил написать простой макрос в Excel и столкнулся с загадочной работой Find. Может вы растолкуете в чем дело. Sub FindTest() Set ws = Worksheets("back") MsgBox (Str(ws.Cells.Find(What:="Test").Row)) End Sub Если значения на листе нет, то вылетает "Object variable or With block variable not set" Если есть, то 1 - вне завимости от положения найденной ячейки Если вместо текста ищу число, например ws.Cells.Find(What:="123").Row то все работает нормально. Игрался с остальными параметрами разницы не почувствовал. Где подводный камень ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.07.2007, 11:38:34
|
|||
|---|---|---|---|
Работа с Find в макросе. |
|||
|
#18+
Подводных камней, работает отлично, но нужно разобраться, что функция возвращает диапазон и если ни чего не найдено, то возвращает "ничего", из-за этого ошибка. Лучше использовать в такой конструкции: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.07.2007, 12:09:50
|
|||
|---|---|---|---|
|
|||
Работа с Find в макросе. |
|||
|
#18+
Действительно, возвращает диапозон :-) vbapro, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=Dobro&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 624ms |
| total: | 727ms |

| 0 / 0 |
