|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
24.09.2013, 13:34 | #11 |
Форумчанин
Регистрация: 19.09.2013
Сообщений: 597
|
Сейчас дотыкался до ошибки "method pastespecial of object range failed"( был офис 2007, ошибку поймал на 2010) прога не упала,свалила в дебагер.
Где-то недавно читал в обсуждении, но вот не могу найти где. Если такая шутка используется Код:
Т.е. y + Zy=y1 + Zy и x + Zx= x1 + Zx. Чем считает ее экесель? Диапазоном же? Прост на таких штуках сейчас падает. P.S. Чтобы свалить в дебагер, нужно изменить номер маршрута у какого-нибудь магазина вверху на такой, которого нет. скажем на 30ый. и посчитать для него расчет очереди.
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!! Последний раз редактировалось SaLoKiN; 24.09.2013 в 13:54. |
24.09.2013, 13:51 | #12 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Точно, извините, тот диапазон ниже.
Но что мешает и его взять в массив, чтоб было быстрее? Хотя всего 90 ячеек в данном случае - разницу не заметите... Почему я раньше не наблюдал такого эффекта на скрытых строках? Вероятно так много кучей редко скрывал... Это риторический вопрос Ещё вот этот массив зачем 92 раза выгружать (с дополнением)? ThisWorkbook.ActiveSheet.Range(Cell s(3, 1), Cells(j + 2, 10)) = b Соберите полный и выгрузите 1 раз. Но всю логику пока не вижу. Что из чего там получаете... Ну да ладно, делать всю задачу всё равно некогда.
webmoney: E265281470651 Z422237915069 R418926282008
|
24.09.2013, 18:46 | #13 |
Форумчанин
Регистрация: 19.09.2013
Сообщений: 597
|
Ее делать и не нужно) Нужно поймать баг,который все рушит и исправить... что собственно я и не могу самостоятельно =(
По поводу выгрузки - сделаю. Подскажите про Range.cells при условии что координаты дают одну ячейку. выше писал уже... прост на 10 екселе падает в дебагер когда диапазон это одна ячейка. И еще... нет у вас случайно адекватной сортировки двумерного массива( будет круто если по нескольким параметрам)
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!! |
24.09.2013, 21:43 | #14 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Есть сортировка.
Правда код не мой, я его только дополнил - изначально он был то ли только для одномерного массива, то ли только для двух столбцов двумерного, не помню. И не помню чей, не записал... Не буду гадать, чтоб не обидеть автора... Код:
P.S. Погонял код на 2003 - не виснет. Что делает - не вникал. Да, если одна ячейка - это не массив. Тогда можно создать массив принудительно: Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 24.09.2013 в 21:53. |
25.09.2013, 06:13 | #15 |
Форумчанин
Регистрация: 19.09.2013
Сообщений: 597
|
Спасибо, но вот чет я не могу понять... через tt() работает, пытаюсь кинуть массив с программы ругается на несоответствие типов.. и там и там массив двумерный...
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!! |
25.09.2013, 09:53 | #16 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Не знаю про типы - нужно видеть что как делаете. Пустые ячейки не мешают, проверил...
Ну а если нужно по нескольким столбцам сразу - можно просто создать книгу, выгрузить туда массив, отсортировать средствами Экселя (конечно программно), взять данные назад в массив, книгу убить. Будет не дольше, чем если всё делать программно (а может и быстрее), и точно проще код
webmoney: E265281470651 Z422237915069 R418926282008
|
25.09.2013, 10:15 | #17 |
Форумчанин
Регистрация: 19.09.2013
Сообщений: 597
|
Вообщем мучаю массив b, что с ним я делал
Код:
спустя минуты... И кста, смысл программной сортировки сам по себе отпадает, т.к. я не могу сортировать по нескольким параметрам одновременно( изначально моя воспаленная фантазия посчитала, что я могу последовательно вызвать несколько раз сортировку по нужным мне столбцам, но догадливый моск подсказал что это лажа) т.к. сортировка перебирает весь массив и шевелит только по нужному столбцу. Вообщем вариант с выгрузкой на лист и сортировкой уже на листе самый выигрышный в этой ситуации =(
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!! Последний раз редактировалось SaLoKiN; 25.09.2013 в 10:21. Причина: спустя минуты... |
25.09.2013, 10:25 | #18 |
Форумчанин
Регистрация: 19.09.2013
Сообщений: 597
|
Но проблема остается!
"method pastespecial of object range failed" Код:
Наверно это и есть тот самый злосчастный кусочек кода....
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!! |
25.09.2013, 11:01 | #19 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Ну вопрос был о сортировке массива по нескольким параметрам - поэтому передложил создать, выгрузить, отсортировать, загрузить, убить
Если же это последний этап перед выгрузкой на существующий лист - тогда конечно "создать, загрузить, убить" лишнее. Как сортировать кодом в памяти массив по нескольким столбцам одновременно - сразу и не понятно, думаю нужно потратить много часов работы чтоб придумать, я даже и не собираюсь время тратить. Действительно если есть у кого готовое - утащил бы себе в коллекцию
webmoney: E265281470651 Z422237915069 R418926282008
|
25.09.2013, 11:19 | #20 |
Форумчанин
Регистрация: 19.09.2013
Сообщений: 597
|
Вот-вот... я бы заморочился(но ток не на VBA), но время...
P.S. проблема "method pastespecial of object range failed" остается актуальной
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Qt] Вылет при изменении параметров QTableWidgetItem | WarAngel-alk | Qt и кроссплатформенное программирование С/С++ | 4 | 31.01.2013 17:58 |
вылет программы при выводе простого числа (cout) | Ciberal | Общие вопросы C/C++ | 7 | 27.09.2011 01:51 |
Вылет программы после завершение | kloffelin | Общие вопросы C/C++ | 3 | 17.04.2010 20:18 |
Ошибка при использовании copyfile | The Best | Общие вопросы Delphi | 20 | 22.07.2009 13:26 |
Проблемка при использовании регрессии | 500_pinguins | Microsoft Office Excel | 0 | 16.06.2009 08:17 |