Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Посчитать кол-во выходов в календарную неделю - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Посчитать кол-во выходов в календарную неделю (Макросы/Sub)
Посчитать кол-во выходов в календарную неделю
Ananas Дата: Среда, 10.04.2019, 16:36 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте!

Пишу макрос, который будет создавать шаблон для планирования радиорекламы.
Сам медиаплан уже сделала, теперь нужно организовать итоговую таблицу. И в этом как раз заключается проблема, т.к. там необходимо посчитать кол-во выходов в календарную неделю. А период может начинаться со среды, например, а не с понедельника. Потом идет пару полных недель. И заканчиваться в чт. Гипотетически.
Вот, и я не знаю как объяснить ему, чтобы он вычислял эти "половинчатые" недели и правильно подсчитывал. Учитываю, что он сам создает кол-во столбцов, исходя из заданного мною периода. (Все это понятнее на примере). :)

Во вложении сам макрос.
Там на листе "Settings" находятся настройки макроса и кнопка запуска. А на "Total table" - пример итоговой таблицы, которую необходимо сделать посредством макроса.
Остальные вкладки - информационные.

Я только начинаю осваивать VBA (это мой первый макрос) и пока не могу придумать решение данной задачи самостоятельно. Буду очень благодарна как помощи при написании кода, так и советам по алгоритму girl_smile
К сообщению приложен файл: 3036331.xlsm(54.1 Kb)


Сообщение отредактировал Ananas - Среда, 10.04.2019, 16:46
 
Ответить
СообщениеЗдравствуйте!

Пишу макрос, который будет создавать шаблон для планирования радиорекламы.
Сам медиаплан уже сделала, теперь нужно организовать итоговую таблицу. И в этом как раз заключается проблема, т.к. там необходимо посчитать кол-во выходов в календарную неделю. А период может начинаться со среды, например, а не с понедельника. Потом идет пару полных недель. И заканчиваться в чт. Гипотетически.
Вот, и я не знаю как объяснить ему, чтобы он вычислял эти "половинчатые" недели и правильно подсчитывал. Учитываю, что он сам создает кол-во столбцов, исходя из заданного мною периода. (Все это понятнее на примере). :)

Во вложении сам макрос.
Там на листе "Settings" находятся настройки макроса и кнопка запуска. А на "Total table" - пример итоговой таблицы, которую необходимо сделать посредством макроса.
Остальные вкладки - информационные.

Я только начинаю осваивать VBA (это мой первый макрос) и пока не могу придумать решение данной задачи самостоятельно. Буду очень благодарна как помощи при написании кода, так и советам по алгоритму girl_smile

Автор - Ananas
Дата добавления - 10.04.2019 в 16:36
InExSu Дата: Воскресенье, 14.04.2019, 10:29 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация: 62 ±
Замечаний: 0% ±

Excel 2010
Привет!

Если код работает = код хороший.

Если при создании макроса встретилась сложность, то мне помогает:
- разложение мысленной модели на элементарные действия
- выписывание порядка этих действий = иерархия
- учитывая особенности языка - иерархию пишем снизу вверх
- кодируем элементарные действия - пишем функции с нулевой сложностью: - что нужно принимаем, небольшое усилие, что нужно - возвращаем
- при нестыковке ожидаемого и получаемого функциями, между ними пишем декораторы.
...
Profit!


На сохранение второго закона термодинамики: яндекс.кошелёк 410012113235839
 
Ответить
СообщениеПривет!

Если код работает = код хороший.

Если при создании макроса встретилась сложность, то мне помогает:
- разложение мысленной модели на элементарные действия
- выписывание порядка этих действий = иерархия
- учитывая особенности языка - иерархию пишем снизу вверх
- кодируем элементарные действия - пишем функции с нулевой сложностью: - что нужно принимаем, небольшое усилие, что нужно - возвращаем
- при нестыковке ожидаемого и получаемого функциями, между ними пишем декораторы.
...
Profit!

Автор - InExSu
Дата добавления - 14.04.2019 в 10:29
K-SerJC Дата: Понедельник, 15.04.2019, 07:52 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 426
Репутация: 69 ±
Замечаний: 0% ±

Excel 2013
Вот, и я не знаю как объяснить ему, чтобы он вычислял эти "половинчатые" недели и правильно подсчитывал.

доброго дня! а зачем считать недели? считайте кол-во дней.


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщение
Вот, и я не знаю как объяснить ему, чтобы он вычислял эти "половинчатые" недели и правильно подсчитывал.

доброго дня! а зачем считать недели? считайте кол-во дней.

Автор - K-SerJC
Дата добавления - 15.04.2019 в 07:52
_Boroda_ Дата: Понедельник, 15.04.2019, 09:31 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 14979
Репутация: 5919 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ananas, а причем здесь "Поиск решения"? Это вообще-то надстройка такая, в Excel вшитая
- Прочитайте Правила форума
- Исправьте название темы согласно п.2 Правил форума, конкретнее обозначьте проблему


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеAnanas, а причем здесь "Поиск решения"? Это вообще-то надстройка такая, в Excel вшитая
- Прочитайте Правила форума
- Исправьте название темы согласно п.2 Правил форума, конкретнее обозначьте проблему

Автор - _Boroda_
Дата добавления - 15.04.2019 в 09:31
Ananas Дата: Понедельник, 15.04.2019, 11:30 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
InExSu, Спасибо!
Не все поняла, но в общем я действую по тому же принципу. :)
 
Ответить
СообщениеInExSu, Спасибо!
Не все поняла, но в общем я действую по тому же принципу. :)

Автор - Ananas
Дата добавления - 15.04.2019 в 11:30
Ananas Дата: Понедельник, 15.04.2019, 11:41 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
K-SerJC, да, мне и нужно высчитать кол-во дней. Но именно за календарную неделю. Например, за период с 16.04 по 30.04 это будет: вт.-вс.(16-21.04), пн.-вс.(22-28.04), пн.вт. (29-30.04).
 
Ответить
СообщениеK-SerJC, да, мне и нужно высчитать кол-во дней. Но именно за календарную неделю. Например, за период с 16.04 по 30.04 это будет: вт.-вс.(16-21.04), пн.-вс.(22-28.04), пн.вт. (29-30.04).

Автор - Ananas
Дата добавления - 15.04.2019 в 11:41
Ananas Дата: Понедельник, 15.04.2019, 11:45 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, а где можно это сделать?
 
Ответить
Сообщение_Boroda_, а где можно это сделать?

Автор - Ananas
Дата добавления - 15.04.2019 в 11:45
_Boroda_ Дата: Понедельник, 15.04.2019, 11:47 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 14979
Репутация: 5919 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Первое сообщение. Кнопка "Правка"


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПервое сообщение. Кнопка "Правка"

Автор - _Boroda_
Дата добавления - 15.04.2019 в 11:47
Ananas Дата: Понедельник, 15.04.2019, 19:11 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, все облазила - не нашла.

Могу скриншот скинуть...
 
Ответить
Сообщение_Boroda_, все облазила - не нашла.

Могу скриншот скинуть...

Автор - Ananas
Дата добавления - 15.04.2019 в 19:11
_Boroda_ Дата: Понедельник, 15.04.2019, 19:25 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 14979
Репутация: 5919 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Тьфу, не заметил я, что Вы более суток назад набезобразничали. Теперь да, Вам уже не поправить
Сделал сам


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТьфу, не заметил я, что Вы более суток назад набезобразничали. Теперь да, Вам уже не поправить
Сделал сам

Автор - _Boroda_
Дата добавления - 15.04.2019 в 19:25
Ananas Дата: Вторник, 16.04.2019, 12:02 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, Спасибо girl_smile
 
Ответить
Сообщение_Boroda_, Спасибо girl_smile

Автор - Ananas
Дата добавления - 16.04.2019 в 12:02
K-SerJC Дата: Вторник, 16.04.2019, 14:20 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 426
Репутация: 69 ±
Замечаний: 0% ±

Excel 2013
K-SerJC, да, мне и нужно высчитать кол-во дней. Но именно за календарную неделю.

добрый день!
вот вам функция
считает сколько недель в периоде
сколько дней в первой неделе
сколько в последней

код вот:


в файле с примером как запустить
К сообщению приложен файл: Ananas.xlsm(17.4 Kb)


Благими намерениями выстелена дорога в АД.

Сообщение отредактировал K-SerJC - Вторник, 16.04.2019, 14:21
 
Ответить
Сообщение
K-SerJC, да, мне и нужно высчитать кол-во дней. Но именно за календарную неделю.

добрый день!
вот вам функция
считает сколько недель в периоде
сколько дней в первой неделе
сколько в последней

код вот:


в файле с примером как запустить

Автор - K-SerJC
Дата добавления - 16.04.2019 в 14:20
Ananas Дата: Четверг, 18.04.2019, 14:03 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
K-SerJC, здравствуйте!

Огромное спасибо! Благодаря этой функции смогу уже смогу сделать нужную мне таблицу!

Только есть вопрос: даты в 2019 и 2020 годах считаются нормально, а в 2021 - неверно. Думаю, может, это связано со стандартами нумерации недель (где начинается первая неделя в году). Пыталась поправить с помощью ISOWEEKNUM - ничего не получилось((
 
Ответить
СообщениеK-SerJC, здравствуйте!

Огромное спасибо! Благодаря этой функции смогу уже смогу сделать нужную мне таблицу!

Только есть вопрос: даты в 2019 и 2020 годах считаются нормально, а в 2021 - неверно. Думаю, может, это связано со стандартами нумерации недель (где начинается первая неделя в году). Пыталась поправить с помощью ISOWEEKNUM - ничего не получилось((

Автор - Ananas
Дата добавления - 18.04.2019 в 14:03
RAN Дата: Четверг, 18.04.2019, 15:46 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5049
Репутация: 1004 ±
Замечаний: 0% ±

2010
сколько в последней

А мужики-то и не знают, что так тоже бывает. :)
К сообщению приложен файл: 6215788.jpg(10.7 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
сколько в последней

А мужики-то и не знают, что так тоже бывает. :)

Автор - RAN
Дата добавления - 18.04.2019 в 15:46
K-SerJC Дата: Четверг, 18.04.2019, 16:35 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 426
Репутация: 69 ±
Замечаний: 0% ±

Excel 2013
А мужики-то и не знают, что так тоже бывает. :)

ну бывает иногда :-)

скорректировал код:


а в 2021 - неверно.

это тоже из-за ошибки смещения диапазонов в цикле, проверил май 21года корректно работает.
К сообщению приложен файл: Ananas2.xlsm(17.5 Kb)


Благими намерениями выстелена дорога в АД.

Сообщение отредактировал K-SerJC - Четверг, 18.04.2019, 16:40
 
Ответить
Сообщение
А мужики-то и не знают, что так тоже бывает. :)

ну бывает иногда :-)

скорректировал код:


а в 2021 - неверно.

это тоже из-за ошибки смещения диапазонов в цикле, проверил май 21года корректно работает.

Автор - K-SerJC
Дата добавления - 18.04.2019 в 16:35
Ananas Дата: Пятница, 19.04.2019, 14:43 | Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
K-SerJC, Да, крууууто!
Все работает корректно!

Спасибо, спасибо, спасибо!!!!
 
Ответить
СообщениеK-SerJC, Да, крууууто!
Все работает корректно!

Спасибо, спасибо, спасибо!!!!

Автор - Ananas
Дата добавления - 19.04.2019 в 14:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Посчитать кол-во выходов в календарную неделю (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!