|
|
|
excel ошибка Application-defined or object-defined error
|
|||
|---|---|---|---|
|
#18+
Стираю графические символы в ячейке. Иногда возникает ошибка Application-defined or object-defined error в строке Set rng = Intersect.... Не могу отловить ее. В основном прога работает. Куда смотреть? Function ShapeFindDel(RngSelect As Range, SwDel As Boolean) As Shape Dim rng As Range, shp As Shape, FindShape As Boolean 'RngSelect.Select For Each shp In RngSelect.Worksheet.Shapes FindShape = False Set rng = Intersect(Range(shp.TopLeftCell, shp.BottomRightCell), RngSelect) If Not rng Is Nothing Then If rng.Address = Range(shp.TopLeftCell, shp.BottomRightCell).Address Then FindShape = True End If If FindShape And SwDel Then shp.Delete End If If SwDel = False And FindShape Then Set ShapeFindDel = shp End If Next End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 18:51:53 |
|
||
|
excel ошибка Application-defined or object-defined error
|
|||
|---|---|---|---|
|
#18+
Добавлю - off2003 sp2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 19:10:28 |
|
||
|
excel ошибка Application-defined or object-defined error
|
|||
|---|---|---|---|
|
#18+
Нашел закономерность. Я применяю список (Данные, Проверка, Список). Так после использования любого из списков и затем запуска программы очистки гр. символа возникает эта ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 19:25:42 |
|
||
|
excel ошибка Application-defined or object-defined error
|
|||
|---|---|---|---|
|
#18+
причина в том, что контрол списка тоже попал в коллекцию shape и ты пытаешься использовать его свойства, которых нет. решение: несколько вариантов 1. проверять свойство .Type объекта shp на соответсвие ожидаемому (см. Help) 2. (более грубый) проверять возможность уделения в другой функции, например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 21:17:39 |
|
||
|
excel ошибка Application-defined or object-defined error
|
|||
|---|---|---|---|
|
#18+
твой список(validation) тоже шейп, поэтому при обработке проверяй shp.type и пробрасывай, и будет тебе счастье:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 21:35:40 |
|
||
|
excel ошибка Application-defined or object-defined error
|
|||
|---|---|---|---|
|
#18+
Буду пробовать. Пока сделал криво - поставил on error goto m1 For Each shp In RngSelect.Worksheet.Shapes FindShape = False Set rng = Intersect(Range(shp.TopLeftCell, shp.BottomRightCell), RngSelect) . . m1: Next Завтра попробую Ваши варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 23:46:33 |
|
||
|
excel ошибка Application-defined or object-defined error
|
|||
|---|---|---|---|
|
#18+
vbapro Private Function IsProperDrawingObject(MyShape As Shape) As Boolean IsProperDrawingObject = False On Error GoTo exit_mark Debug.Print MyShape.TopLeftCell.Address IsProperDrawingObject = True exit_mark: End Function Фактически, по интуиции я сделал тоже с вставкой IsProperDrawingObject = m1 в свой код.Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 10:41:53 |
|
||
|
excel ошибка Application-defined or object-defined error
|
|||
|---|---|---|---|
|
#18+
да, это то же самое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 10:52:12 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34356153&tid=2183375]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 375ms |

| 0 / 0 |
