Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.09.2013, 05:39   #1
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
Смущение Вылет программы при использовании макроса

Доброго времени суток!
Столкнулся с интересной вещью, для упрощения своей жизни решил активно использовать макросы во всеми нами любимым Excel.Все было написано и работало, и работает. вот только падает оно не в самый подходящий момент. А падает так,что потом пытается вернуть все восстановлением, что вобщем то бесполезно...
Дебагером поймать ошибку не могу, потому что она вылетает спонтанно( может за 1ую минуту использования,а может и через 10) при одной и той же интенсивности работы с книгой.
Итак, где что.
На 1ом листе происходит ввод информации, кнопка "пересчет очереди" используется для того-чтобы с верхней части таблицы(A1:J96) по номеру маршрута собирать очередь на разгрузку(J98:J144).
На 2ом листе формируется таблица(на основе первого), используются связи между листами(ПК->Спец.Вставка->Связи).
3ий лист, тут самым индусским способом формируется очередь для первого листа и используется функция СцепитьЕсли(гдет нашел). И потом все эта "красивая штука возвращается на 1ый лист в виде текста,а не формул.
Теперь по макросам.
4ый модуль- кнопачка на 1ом листе(видимо в ней собака и зарыта).
Вот вобщем то и все... Хелп Ми >__<
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума
Старый 19.09.2013, 08:02   #2
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Код индусский, так что не ругайте. С VBA знаком всего неделю =)
Напишу на всякий случай что я хотел получить.
Укрупненный алгоритм:
-Лист1.Ввод данных(A1:J96)
-Лист1.Создание очереди(J98:J144) на основе ввода(A1:J96) !!!по кнопке!!!
-Лист2.Формирование нужной таблицы на основе Лист1.A1:J96
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!

Последний раз редактировалось SaLoKiN; 19.09.2013 в 08:03. Причина: мисклик
SaLoKiN вне форума
Старый 19.09.2013, 08:20   #3
kalbasiatka
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 208
По умолчанию

Вроде из программы не кикает. В отладчик направляет - это да.
kalbasiatka вне форума
Старый 19.09.2013, 08:40   #4
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

он не сразу кикает, книга может просто быть открытой и упасть(при условии что считал уже чегонибудь). а де в отладчик кидает?
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!

Последний раз редактировалось SaLoKiN; 19.09.2013 в 09:31.
SaLoKiN вне форума
Старый 19.09.2013, 11:39   #5
kalbasiatka
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 208
По умолчанию

Куча сортировок, я нихт понимать. Скайп под ником, думаю будет быстрее, чем раз в день сообщение на форуме писать.
kalbasiatka вне форума
Старый 20.09.2013, 05:13   #6
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Блин, со скайпом лажа. На работе нет,а дома есть чем заняться и без этого =) Мож ацка е? или еще какая штука?
Ну или по сортировкам. Лист l5 не нужно смотреть, я его переписал уже. он теперь не на ссылках, а на массивах в памяти и все красиво считается(скилл качнул). Может сейчас еще перепишу и ту хрень. Вот ток вопросец сразу, строковая переменная может принимать набор числовых значений? т.е. есть массив А(5,i) и строка S. которая в цикле будет получать 5 элементов i-ой строки(склеивать).
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума
Старый 20.09.2013, 06:55   #7
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
Вопрос

Переписал расчеты для второго листа, убрал всякий хлам из модулей.
Модуль 7 теперь отвечает за расчеты на листе "для l5".

Нужна помощь...
тут
Код:
iLastRow = 98 'грубая привязка к адресу
тут
Код:
For ii = 99 To 144 'грубая привязка к адресу
...и тут
Код:
For i = 3 To 95 'UBound(a)грубая привязка к адресу
По идее, удалил пару строк и может начаться какашка... а динамически меняющиеся размеры не могу додумать как сделать =(
Пока решаю эту проблему скрывая пустые строки, но в конечном итоге работать с этим буду не я, поэтому нид хелп)

З.Ы. Погоняйте книгу плиз, нужно понять от чего она ложится
Вложения
Тип файла: rar Играем реестр.rar (66.5 Кб, 17 просмотров)
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума
Старый 24.09.2013, 09:28   #8
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Товарищи! Ну почему может вылетать ексель? Я не могу найти причину,самостоятельно! сейчас нормально работал, стал закрывать-приложение рухнуло и не смогло нормально восстановиться =(
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума
Старый 24.09.2013, 10:42   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Создали один массив, второй...
Зачем затем снова лезете на лист за данными, если эти данные есть в массиве (в 'подгрузили условия)?
И вот как-то непонятно - работаете With Sheets("НТК 1 "), а сортируете затем зачем-то
Worksheets("для l5").sort.
Причём Key:=Range("A3:A41") - т.е. этот key берётся с активного в этот момент листа.Думаю проблема тут - но сам код проверить в работе не могу, у меня 2003 Эксель. Но такое использование не правильное - или указываете лист, или сперва активируете тот лист (лучше указать).
Но зачем вообще тут сейчас эта сортировка?

А вообще чувствую что с помощью словаря код можно сильно упростить/ускорить - но задачу по коду не понял (да и не старался, раз сразу не понял )

P.S. Интересный файл - первый раз вижу, что перемотка листа, если тянуть за правый скроллбар, на середине зависает
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 24.09.2013 в 10:54.
Hugo121 вне форума
Старый 24.09.2013, 13:25   #10
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Итак по порядку:
1. диапазон который в 'подгрузили условия, в массив не грузится.

2. Сортирую я для того,чтобы потом мне это дело в нужном виде представить в другой книге. Key:=Range("A3:A41") вроде привязан к нужному листу
Код:
ActiveWorkbook.Worksheets("для l5").sort.SortFields.Add Key:
(если не прав, подскажите)

3. Общая суть для "Sub RunMe()" такова. Формируется лист НТК1 ручками. я чтобы не удалять кучу ненужной "каки", с помощью кода собираю те данные которые мне нужны для дальнейшего использования. Сортировка в конце чисто для нужного представления( в идеале нужна сортировка массива в памяти и выдавать уже на лист готовую таблицу, но эт не критично). "Подгружаю значения" лишь для того, чтобы добрать необходимые данные. Т.к. 3ий создавать думаю не стоит.



Цитата:
P.S. Интересный файл - первый раз вижу, что перемотка листа, если тянуть за правый скроллбар, на середине зависает
Может там строки скрыты прост
P.S. и как показывает практика падает он вовсе не из-за RunMe(), а из-за "Пересчета очереди"( как бы даже не СцепитьЕсли виновата, которую нашел гдет на просторах любимого рунета).
P.S.S Спасибо за подсказку про словарь,поковыряю
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[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