|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
Доброго дня! Может кто-то знает, почему при отладке через F8 макрос срабатывает, а через F5 нет. Даже проверить не могу в чем ошибка, ведь по шагам все работает. Могу приложить сам макрос, но, увы, без исходника (политика безопасности) Выдает ошибку “В файле Global INT CSAT отcутствуют или переименованы листы Russia или Meta. Проверьте исходные данные. Макрос будет завершен» При этом корень зла, судя по результатам лежит раньше. В ходе перебора одного из листов, результаты одного (META) не выводятся (по шагам они выводятся). И далее код начиная с коммента “Преобразование полных названий файлов в названия регионов” уже не выполняется. Опять-таки, судя по результатам, которые я вижу после выполнения. Код: vbnet 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81.
Буду премного благодарна за совет. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 16:01 |
|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
1) С какой целью вы активируете книги и листы, с которыми работаете? 2) Что вы пытаетесь отловить On Error Resume Next и где On Error Goto 0? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 16:24 |
|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
Даже по-другому - вы заблокировали все ошибки и даже не видите, в чем причина невыполнения кода, и Flag = 2 может не выполняться по куче разных причин. Еще момент Код: vbnet 1.
перед Cells нужно тоже указывать путь к нужному листу, иначе вы можете использовать Range из одной книги, а Cells из другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 16:27 |
|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
Shocker.Pro1) С какой целью вы активируете книги и листы, с которыми работаете? 2) Что вы пытаетесь отловить On Error Resume Next и где On Error Goto 0? 1) Чтобы все все операции следующие за активацией выполнялись именно с этой книгой или листом 2) То есть если я использую On Error Resume Next, то потом обязательнро нужно использовать On Error Goto 0? Чтобы вернуть обработку ошибок? Первый раз о нем слышу, спасибо. Убрала вообще все On Erorr - наверное они там действительно не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 17:07 |
|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
Shocker.Pro Еще момент Код: vbnet 1.
перед Cells нужно тоже указывать путь к нужному листу, иначе вы можете использовать Range из одной книги, а Cells из другой. Эврика! Никогда так не делала. И как-то везло, видимо. И теперь не повезло. Заработало. Спасибо большое! А покороче никак не получится? Например через блок With? Или ту же активацию листа? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 17:09 |
|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
Takayavot1) Чтобы все все операции следующие за активацией выполнялись именно с этой книгой или листомЖелательно всегда явно указывать книгу/лист, из-за этого вы и прокололись с Cells. А во всех остальных случаях у вас и так книга/лист явно указаны, так что активация даже вредна. http://www.sql.ru/faq/faq_topic.aspx?fid=4344 TakayavotА покороче никак не получится? Например через блок With?используйте через With или присвойте этот лист один раз локальной переменной. Даже и быстрее работать будет. Takayavotпотом обязательнро нужно использовать On Error Goto 0? Чтобы вернуть обработку ошибок? Ну конечно. Resume Next вообще очень вредная операция и применять ее надо с осторожностью. И вот опять же из-за нее прокол с Cell - вы просто проигнорировали ошибку доступа к диапазону. Еще рекомендую вам а) не использовать команду Goto (вот тут она совсем не нужна), вы же можете инвертировать условие (убрать Not) б) расставлять отступы согласно вложенности операторов. Ваш код нечитабелен. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 17:24 |
|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
Shocker.ProЕще рекомендую вам б) расставлять отступы согласно вложенности операторов. Ваш код нечитабелен. спасибо огромное за советы! А отступы расставлять руками нужно? Никак автоматически не получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 17:32 |
|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
TakayavotА отступы расставлять руками нужно? Никак автоматически не получится?Штатными средствами студии - нет. Но можно помнить о том, что нажатие Tab и Shift+Tab добавляет/убирает отступы для всех выделенных строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 17:43 |
|
Почему код через F8 выполняется, а через F5 нет?
|
|||
---|---|---|---|
#18+
Кроме того, переход на новую строку сохраняет отступ предыдущей строки, так что не все так печально, если оформлять код сразу как положено ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 17:44 |
|
|
start [/forum/topic.php?fid=61&msg=39534175&tid=2172539]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 293ms |
total: | 423ms |
0 / 0 |