|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.02.2014, 00:14 | #61 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Вот только что писал два точно таких макроса, но наоборот (два потому, что первый раз не успел сохранить ), третий не хочу
http://www.excelworld.ru/_fr/92/_new2.rar Можно брать и переделывать. P.S. Вообще есть в том коде одна помарка - массив b нужно в начале иметь пустой. Т.е. определить необходимый размер и создать массив под размер, который и заполнить. Потому что иначе для тех, кого нет в выбранном месяце - останутся старые данные! Или же "бюджетный вариант": если t нет в словаре - очищаем текущую строку массива b.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 28.02.2014 в 00:24. |
28.02.2014, 00:40 | #62 | ||
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Понял буду смотреть.
Цитата:
Как это определить? Одна машина может в день несколько раз выехать. Цитата:
|
||
28.02.2014, 00:47 | #63 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
В том коде t - это номер клиента и месяц. У Вас как ключ можно хранить номер машины и месяц, если там в месяц по одной машине в базе.
А нет, там по несколько раз машины встречаются. Тогда собираете сразу данные в словаре. И нужно делать иначе - отбирать в словарь данные только за конкретный выбранный месяц. Для простоты - делайте 4 параллельных словаря, на каждый столбец по словарю. Да, 1:1 тот код использовать не получится. Но половину можно использовать. Алгоритм думаю такой - базу в массив, цикл по массиву, анализируем месяц, если нужный - суммируем в 4-х словарях данные, как ключ достаточно только номер машины. Далее цикл по отчёту - по номеру машины берём из словарей данные.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 28.02.2014 в 00:55. |
28.02.2014, 01:00 | #64 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
А где этот словарь?
Цитата:
Так? |
|
28.02.2014, 01:29 | #65 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
В том коде словарь скрывается в
Код:
Про 48 не понял - там ведь отчёт на 1 месяц!
webmoney: E265281470651 Z422237915069 R418926282008
|
28.02.2014, 01:34 | #66 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Валера, можно конечно макрос подогнать под производственный процесс, а можно... производственный процесс подогнать под макрос
если макрос не предполагает, что машина может выехать несколько раз в день можно: ликвидировать машину по приезду. ликвидированная машина никуда второй раз не поедет. взрыв... ну нет машины, зато макрос переписывать не надо! Цитата:
или может макрос вертикальной ломаной разбить на правую и левую половины. но вопрос остается открытым: какую половину использовать? правую или левую? а если в макросе нечетное количество символов? макрос с половиной символа не записать, не использовать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
28.02.2014, 01:42 | #67 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Ваще она, программа, годовая.
Я завтра уточню в налоговой, данные в листе Отчёт, нужны на текущий месяц или на год. |
28.02.2014, 01:53 | #68 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Судя по тому, что выбор выбирает только один месяц - отчёт будет на месяц!
Но конечно можно отработать 12 раз, нагенерить 12 отчётов, никто не мешает. И код можно не менять Когда он конечно будет написан... Да, про половины - думаю лучше брать верхнюю... Хотя...
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 28.02.2014 в 01:57. |
28.02.2014, 02:13 | #69 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
На один месяц у меня так и не важно сколько раз машина в день выезжает. Этот код находится в UserForm1. Код:
№ машин вводятся через форму. Последний раз редактировалось valerij; 28.02.2014 в 02:58. |
|
28.02.2014, 02:20 | #70 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
"и потом по выбору месяца" - вот я и поймал
По выбору месяца, а не месяцев!
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 |