![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#61 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Вот только что писал два точно таких макроса, но наоборот (два потому, что первый раз не успел сохранить
![]() ![]() http://www.excelworld.ru/_fr/92/_new2.rar Можно брать и переделывать. P.S. Вообще есть в том коде одна помарка - массив b нужно в начале иметь пустой. Т.е. определить необходимый размер и создать массив под размер, который и заполнить. Потому что иначе для тех, кого нет в выбранном месяце - останутся старые данные! Или же "бюджетный вариант": если t нет в словаре - очищаем текущую строку массива b.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 28.02.2014 в 00:24. |
![]() |
![]() |
![]() |
#62 | ||
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
Понял буду смотреть.
Цитата:
Как это определить? Одна машина может в день несколько раз выехать. Цитата:
|
||
![]() |
![]() |
![]() |
#63 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
В том коде t - это номер клиента и месяц. У Вас как ключ можно хранить номер машины и месяц, если там в месяц по одной машине в базе.
А нет, там по несколько раз машины встречаются. Тогда собираете сразу данные в словаре. И нужно делать иначе - отбирать в словарь данные только за конкретный выбранный месяц. Для простоты - делайте 4 параллельных словаря, на каждый столбец по словарю. Да, 1:1 тот код использовать не получится. Но половину можно использовать. Алгоритм думаю такой - базу в массив, цикл по массиву, анализируем месяц, если нужный - суммируем в 4-х словарях данные, как ключ достаточно только номер машины. Далее цикл по отчёту - по номеру машины берём из словарей данные.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 28.02.2014 в 00:55. |
![]() |
![]() |
![]() |
#64 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
А где этот словарь?
![]() Цитата:
Так? |
|
![]() |
![]() |
![]() |
#65 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
В том коде словарь скрывается в
Код:
Про 48 не понял - там ведь отчёт на 1 месяц!
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#66 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
Валера, можно конечно макрос подогнать под производственный процесс, а можно... производственный процесс подогнать под макрос
если макрос не предполагает, что машина может выехать несколько раз в день можно: ликвидировать машину по приезду. ликвидированная машина никуда второй раз не поедет. взрыв... ну нет машины, зато макрос переписывать не надо! Цитата:
или может макрос вертикальной ломаной разбить на правую и левую половины. но вопрос остается открытым: какую половину использовать? правую или левую? а если в макросе нечетное количество символов? макрос с половиной символа не записать, не использовать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
![]() |
![]() |
![]() |
#67 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
Ваще она, программа, годовая.
Я завтра уточню в налоговой, данные в листе Отчёт, нужны на текущий месяц или на год. |
![]() |
![]() |
![]() |
#68 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Судя по тому, что выбор выбирает только один месяц - отчёт будет на месяц!
Но конечно можно отработать 12 раз, нагенерить 12 отчётов, никто не мешает. И код можно не менять ![]() Когда он конечно будет написан... Да, про половины - думаю лучше брать верхнюю... Хотя... ![]()
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 28.02.2014 в 01:57. |
![]() |
![]() |
![]() |
#69 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]() Цитата:
На один месяц у меня так и не важно сколько раз машина в день выезжает. Этот код находится в UserForm1. Код:
№ машин вводятся через форму. Последний раз редактировалось valerij; 28.02.2014 в 02:58. |
|
![]() |
![]() |
![]() |
#70 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
"и потом по выбору месяца" - вот я и поймал
![]() По выбору месяца, а не месяцев! ![]()
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите упростить простой макрос | frantic150 | Microsoft Office Excel | 2 | 23.06.2009 04:55 |
проверьте плз код!можно ли его оптимизировать или упростить? | -ushёl- | Помощь студентам | 10 | 23.04.2009 21:07 |
Вот! Тот макрос, который заставил обратится меня на этот форум! | Дмитрий Фукс | Microsoft Office Excel | 6 | 10.04.2009 10:29 |
Запереть макрос можно? | zander | Microsoft Office Excel | 1 | 15.02.2009 15:40 |