
Новые сообщения [новые: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/topic.php?fid=61&mobile=1&tid=2182006]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 317ms |

| 0 / 0 |
