|
|
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Подскажите, где ошибка? Все переменные объявлены. Это отрывок из кода. Код: 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. В цикле на строке ActiveWorkbook.... вылетает ошибка Run-time error '1004' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 08:59 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
А почему вы решили, что ActiveWorkbook в этот момент - это newbook ? В вашем тексте после .Close - нет активации вашей "новой книги", поэтому и с Active... - неопределённость. Ну и ещё (как давно и надолго советовал Шокер) - отказывайтесь сразу от работы с ActiveXXXX, копированием через буфер, использованием Selection... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:16 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
AndreTM, подскажите как лучше скопировать диапазон из одной книги в другую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:18 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
дальнейшие манипуляции с кодом выявили ошибку в этой операции: Код: vbnet 1. Что тут не верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:30 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Может все из-за того что в копируемой шапке есть объединенные ячейки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:33 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Всё неверно... Ибо так низзя Галямов Ильдарподскажите как лучше скопировать диапазон из одной книги в другую?Например: Код: vbnet 1. 2. 3. 4. 5. 6. Есть еще варианты - например, можно попросту обратиться к диапазону другой книги, используя нотацию [Книга]Лист!Ячейки в формулах листа рабочей книги; или можно использовать ADODB (Query)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:38 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Set sh.Range("A3:H19") = newbook.Worksheets(1).Range("A3:H19") Выделил неверное. Создайте пременную "as Range", и ей присваивайте И еще, по поводу удаления лишних листов. У Application есть свойство sheetsinnewworkbook(или как-то так) - с ним работайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:38 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
ElenHimSet sh.Range("A3:H19") = newbook.Worksheets(1).Range("A3:H19") Выделил неверное. Создайте пременную "as Range", и ей присваивайтеНе пойдёт... У него sh - это типа в old book'е лист... И советы надо давать ТСу таким образом, чтобы он понял различие между объектной моделью и формулами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:47 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
AndreTM, Dim rng as Range Set rng = newbook.Worksheets(1).Range("A3:H19") Что вам не нравится? А по поводу AndreTMИ советы надо давать ТСу таким образом, - ГорбатыйПоучи жену щи варить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:53 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
AndreTM, спотыкаюсь именно в копировании диапазона в созданной книге с одного листа на создаваемый в цикле (( За.олбался уже на таком простом шаге (( Подскажите пож-та в чем подвох Код: vbnet 1. где Код: vbnet 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:58 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Да, никаких селектов и активаций. И вот так: Workbooks.Open (...) я тоже не делаю. Неудобно как-то, всё время отслеживать активную книгу... Обычно set wb=Workbooks.Open(...) или with Workbooks.Open(...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 09:59 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
ElenHimAndreTMИ советы надо давать ТСу таким образом,ГорбатыйПоучи жену щи варитьТо есть смайлика - не видим?? Да и совет был не вам, уважаемый, а сообществу, если вы не поняли... Ну и ваш ответ тоже - я вот так понял, что sh - это лист в уже открытой книге, причем к ньюбуку отношения не имеющей... А вы всё о том же - "давайте назначим объект". Он там и не нужен, воообще-то, - смысл был в том, чтобы ТСу дать понять о .Copy . И ещё - не надо мне опять упоминать о неправильном использовании кода - .Range. там, по привычке, был указан специально, чтобы новичок не тупо копировал код, а читал хелп... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 10:18 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Галямов Ильдар , ну дайте уж (приложИте в архиве), из конца в конец, примеры ваших файликов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 10:21 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
AndreTM, отправляю: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 10:40 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Проблема осталась только при копировании шапки таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 10:41 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Галямов Ильдар, Глубоко не вникал. Вместо удаления лишних листов - кстати, их может быть у кого как - делайте просто Set newbook = Workbooks.Add(1) или Set newbook = Workbooks.Add(xlWBATWorksheet) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 10:46 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Hugo121, благодарен, знал что такое есть - не стал искать, а просто пошел простым путем )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 10:53 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Вопрос решен копирование диапазона из одной книги в другую решен с помощью Код: vbnet 1. 2. 3. Всем огромное спасибо за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 11:23 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
AndreTM, Смайлик я видел. Собственно потому и цитату я привёл, вобщемто, общеизвестную. Вы предпочитаете смайлики, а я - цитаты. Такие дела Пока доехал до работы, всё уже и порешили. Всёж добавлю.Была на моей памяти пара приколов с Copy/Paste, поэтому сам я, где возможно, стараюсь употреблять присваивание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 11:48 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Ильдар , я тоже не стал глубоко вникать... Но вижу сразу - на вашем месте, я бы не разбивал данные по листам книги, а собрал бы все данные в одну таблицу (с дополнительным полем-идентификатором-ключом). БЕЗ форматирования этого листа. Поверьте, не стОит смешивать хранение данных и их выдачу "визуально". Поскольку любую выборку не в пример легче и проще получить отдельно в любой момент времени. Причём - в нужном виде и в нужном формате, хоть на отдельном листе/в отдельной книге, хоть передав, скажем, в Word... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 11:50 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
AndreTM, у нас на предприятии нормы технолог готовит в DOS программе, а мои экономисты потом много-чего вручную делают, в частности калькуляции. Задача непосредственно стоит для отображения данных в виде отдельных калькуляций. Но в конечном итоге у меня в конце программы будет выдаваться итоговая таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 11:56 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
А еще вдобавок, небольшую проблему заметил = используя формат #####0.00 у меня норма 27 отражается как 270 000 (в досе изначально отражалась норма как 27.0000) Причем аналогичные цифры отображаются как положено по формату. Подскажите в чем здесь косяк? Как исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 11:58 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
Кстати, вспомнил... Когда-то (не так и давно) мы делали это Посмотрите, поразбирайте, поинтересуйтесь - как это функционирует. Многие ваши вопросы отпадут просто с ходу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 12:03 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
AndreTM, спасибо, прочитал. Алгоритм решения я представляю вполне явно, просто трудности в переносе этого алгоритма на код vba ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 12:16 |
|
||
|
Ошибка в работе с листами
|
|||
|---|---|---|---|
|
#18+
В решении по ссылке моё решение нужно чуть изменить - сливать два поля через разделитеь, а не прямо m & n. Иначе не будет разницы между 1 23 и 12 3 Т.е. не Код: vbnet 1. а Код: vbnet 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2012, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37751873&tid=2175807]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
215ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 534ms |

| 0 / 0 |
