powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Рабочие дни, как?
9 сообщений из 9, страница 1 из 1
Рабочие дни, как?
    #34453174
Sergey_su
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите, как написать, чтобы при добавлении к определенной дате, числа(напр. 10 (дни)), учитывалось, что добавляются рабочие дни к дате.
...
Рейтинг: 0 / 0
Рабочие дни, как?
    #34453527
Не совсем понятен вопрос.... Добавляешь 10 дней, которые и должны являться рабочими или среди них определять рабочие дни?

Вообще лучше использовать функцию WEEKDAY(DATE...
...
Рейтинг: 0 / 0
Рабочие дни, как?
    #34453675
Sergey_su
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, мне нужно получить дату, которая образовалась путем сложения даты и 10 рабочих дней. Дней может быть и 40-50, поэтому нужно знать точную дату, учитывая только рабочие дни без выходных.
...
Рейтинг: 0 / 0
Рабочие дни, как?
    #34455235
Ruselus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=РАБДЕНЬ('дата начала', 'кол-во дней', 'перечень праздничных дней')

Пример.
Есть дата 01.04.2007
Нам нужно высчитать дату которая остроит от данной даты на 10 рабочих дней (как я понял для каких-то договоров, типа "выполнить в течерии Х рабочих дней до ХХ.ХХ.ХХХХ числа")

Все, данная функция выдаст 13.04.2007г.
Считаем по календарю получаем аккурать такое же число.

Т.к. в разных странах (да и в разных конторах) могут быть разные дополнительные праздники, их можно указать в виде дополнительного перечня.

Вобщем тоже самое что и Рафаэль написал.
...
Рейтинг: 0 / 0
Рабочие дни, как?
    #34455726
Sergey_su
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, но это не проходит, мне в макросе надо,
вот пример проверки

if cells (i , j+1) > cells (i , j) + ten (1 , 1)

ten (1 , 1) - это 2-х.мермассив, в этих координатах находится число 10, и получается, что к начальной дате cells (i , j) просто прибавляется 10 дней и сравнивается с фактом if cells (i , j+1).
А нужно (грубо говоря)

if cells (i , j+1) > РАБДЕНЬ( (cells (i , j)), (ten (1 , 1)))

Хелп, ОЧЕНЬ НАДО.
...
Рейтинг: 0 / 0
Рабочие дни, как?
    #34456469
gacol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А так нельзя, пишешь программно в ячейку, например, A10 формулу, а потом проверяешь [a10].Formula = "=РАБДЕНЬ(" & cells (i , j) & "," & ten (1 , 1) & ")"
if cells (i , j+1) > [a10].value
...
Рейтинг: 0 / 0
Рабочие дни, как?
    #34456564
Wasup!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получить доступ к функциям рабочего листа можно с помощью метода
Код: plaintext
application.worksheetfunction
Но, так как функция РАБДЕНЬ входит в надстройку "Пакет анализа", через этот метод она не доступна (по крайней мере я не знаю).
Имеет смысл поискать в интернете, как её можно получить

Так же можно написать свою функцию.
Мой вариант:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Function AddWorkDay(ByVal dtmStartDay As Date, ByVal intDaysToAdd As Integer) As Date

Do While intDaysToAdd >  0 
    If Weekday(dtmStartDay +  1 , vbMonday) <>  6  And Weekday(dtmStartDay +  1 , vbMonday) <>  7  Then
        intDaysToAdd = intDaysToAdd -  1 
    End If
    dtmStartDay = dtmStartDay +  1 
Loop

AddWorkDay = dtmStartDay
End Function
...
Рейтинг: 0 / 0
Рабочие дни, как?
    #34456704
Sergey_su
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
Возникла еще одна проблема, фактической даты отнять запланированную без учета выходных.
Писецц...
...
Рейтинг: 0 / 0
Рабочие дни, как?
    #34456801
bac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут как всегда задачка только на первый взгляд простая.
1. Рабочие дни не определяются календарем
2. Праздниченые дни устанавливаются в начале года постановлением правительства

Исходя из этих посылок само простое иметь календарь на год в файле или в памяти,
тогда задача превращается в простой цикл с анализом является ли дата рабочим днем.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Рабочие дни, как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]