0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
1 | |
Excel Нужно определить количество определенных рабочих дней недели и или их комбинаций в интервале дат15.08.2018, 11:14. Показов 7971. Ответов 43
Метки нет (Все метки)
Здравствуйте!
Не смог найти подходящую тему. Задача состоит в том, что-бы посчитать количество рабочих дней недели и их комбинации (понедельник; понедельник, среда, пятница; и т.д.) в интервале дат. При этом нужно учитывать праздничные дни. Нашел только как их по отдельности искать.
0
|
15.08.2018, 11:14 | |
Ответы с готовыми решениями:
43
Подсчитать количество определенных дней недели в списке Получить количество дней в интервале двух дат Вычислить количество лет, месяцев и дней в интервале двух дат Нужно рассчитать количество рабочих дней |
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
20.08.2018, 18:01 [ТС] | 21 |
Вот с выбором дат начала и конца периода все просто: (bDate As Date, eDate As Date). И все протягивается, берется откуда надо и все хорошо. А " str As String", так просто в аргументы не запихнуть, чуда не происходит. "days() As String" где-то рядом должен быть и эта строчка "days = Split(str, ",")" (я так понимаю тут про то, что дни через запятую пишутся). С этим тоже непонятно что делать тогда.
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
||||||
20.08.2018, 18:20 | 22 | |||||
Я не волшебник, я тока учусь!
(ц)ученик феи Золушки.
1
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
21.08.2018, 11:13 [ТС] | 23 |
Loya, Спасибо Вам! Все заработало! Чудо произошло)
Я думал, что это хорошее решение. А как процедура работает?
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
|
21.08.2018, 13:14 | 24 |
Так же, как и функция, которая ничего не возвращает. Просто зачем использовать функцию, если не собираетесь возвращать какое либо значение? Разницы в целом нет, но процедура в Вашем случае читабельнее. Почитайте про процедуры и функции в visual basic чтоб лучше понимать, как их следует использовать.
0
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
22.08.2018, 09:41 [ТС] | 25 |
Loya, мне функция была удобна тем, что можно протянуть это все на нижние ячейки и все аргументы попадут из нужных ячеек. А можно сделать что-бы все заполнялось сразу после запуска процедуры? Вы это имели ввиду?
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
|
22.08.2018, 10:08 | 26 |
0
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
22.08.2018, 10:57 [ТС] | 27 |
Loya, не получается теперь эту функцию в процедуру переделать обратно. А как в процедуру добавить аргументы? Точнее не понимаю как их указать на всю таблицу. Для функции они прописываются после названия функции. Потом в формуле через точку с запятой, при протягивании попадают нужные снизу. Для процедуры, получается, нужно прописывать столбец весь?
Я прикрепил файлик с тем, чего добиться хочу, в итоге. Хотелось бы, конечно, наиболее простым и эффективным способом это сделать. А он не прикрепился(
0
|
Модератор
|
|
22.08.2018, 11:14 | 28 |
попробуйте сначала зазиповать вложение(допускается до 10 мб)
1
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
22.08.2018, 11:17 [ТС] | 29 |
shanemac51, спасибо! Зазипованный прикрепился.
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
|
22.08.2018, 12:33 | 30 |
Я не вижу в файле, где у Вас вызывается выполнение макроса и передаются аргументы. Что бы переделать функцию в процедуру достаточно слово Functuion изменить на слово Sub. В принципе не критично, можно оставить, как есть - функции, работать будет, просто может вызвать лёгкое удивление у читающего Ваш код.
0
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
22.08.2018, 12:37 [ТС] | 31 |
Loya,
так я делал. Почему-то чуда не произошло, он вообще не захотел работать в таком виде.
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
|
22.08.2018, 14:24 | 32 |
Тогда два варианта, или забейте и оставьте, как есть, или подскажите мне (можно скриншотами), как Вы запускаете макрос с передачей аргументов, потому что я так и не нашла где это.
0
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
22.08.2018, 15:24 [ТС] | 33 |
Loya, если это функция, то пример 1, если процедура, то пример 2. Просто кнопку, обведенную кружочком нажимаю и ничего не происходит.
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
|
22.08.2018, 15:30 | 34 |
Всё, теперь поняла. Тогда да, оставляйте функции. Я уже и забыла, что так можно макросы вызывать.
1
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
23.08.2018, 11:11 [ТС] | 35 |
Loya, здравствуйте.
Тут появилась потребность в 2-х разных списках праздничных дат: (1 с каникулами, 2 без каникул). Это через If then лучше делать? Как можно не втыкая еще 1 столбец это устроить это? Цвет ячейки или, может в ячейку с номерами дней недели через запятую добавить букву д\н спереди? Добавлено через 1 час 5 минут Loya, я Вас, наверное, уже достал, но не могу понять как "startWeekend =" сделать актуальным для нескольких вкладок.
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
|||||||||||
23.08.2018, 11:28 | 36 | ||||||||||
А почему ещё одну колонку не хотите? Наглядно же. Но если прям совсем не хочется, то да, можно букву впереди, тогда код немного переписать нужно будет.
всё нормально, я тут тоже бывает к людям пристаю, только в другом разделе, как правило. Не поняла вопроса, если можно, то лучше на примере. startWeekend у нас с Вами вроде как переменная для ячейки, с которой начинается перечисление праздников. Для каких вкладок нужно сделать её актуальной?
0
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|
23.08.2018, 11:31 [ТС] | 37 |
Да, неправильно выразился. Имел ввиду актуальной для нескольких листов. Хочется просто что-бы этот список лежал где-то на одном листе и к нему можно было обратиться с разных.
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
||||||
23.08.2018, 12:01 | 38 | |||||
А, да это легко, нужно просто лист указать:
0
|
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 30
|
|||||||||||
15.09.2018, 11:57 [ТС] | 39 | ||||||||||
Loya, Здравствуйте!
Хотел таким образом, по простому отделаться, но ничего не вышло.
0
|
70 / 57 / 24
Регистрация: 06.12.2015
Сообщений: 306
|
|
17.09.2018, 11:56 | 40 |
PiLLyulk, приложите лучше файл, сложно без описания ошибки понять на что конкретно он ругается.
0
|
17.09.2018, 11:56 | |
17.09.2018, 11:56 | |
Помогаю со студенческими работами здесь
40
Даны две даты определить сколько между ними определенных дней недели Определить количество рабочих дней в месяце Описать множество рабочих дней недели Определить количество рабочих (будних) дней в конкретном месяце и года Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |