Страницы: 1
RSS
Интервал рабочих дней
 
Добрый день!  
Проблемка такая, нужно вывести в столбец даты рабочих дней. Известны дата начала периода, общее число рабочих дней этого периода, дата окончания. Так же есть массив (столбец), где перечислены все выходные и праздничные дни.  
Используя схему функций ЕСЛИ РАБДЕНЬ.МЕЖДУ не получилось достигнуть нужного результата. :(
 
Приложите пример, из которого будет видно - где задаются исходный данные (кстати, одно из них лишнее), где столбец выходных дней и где надо получить результат.
 
Ок.. Во вложении файл примера  
На листе "Шаблон" есть столбец J21-J117  
В него нужно вставить дни выполнения проекта (только рабочие дни)  
На листе "График" есть столбцы H где указаны все выходные дни, и столбец Q2-Q18 где указаны только праздники...
 
Файл не зацепился
 
Пробуйте. Я не понял, откуда брать даты начала и окончания, поэтому вводил вручную. Допилите сами.  
 
Sub bb()  
Dim d1&, d2&, h As New Collection, v() As Date, i&, j&, x  
 
d1 = CDate(InputBox("Введите дату начала", , "15.4.12"))  
d2 = CDate(InputBox("Введите дату окончания", , "1.7.12"))  
On Error Resume Next  
With Worksheets("График")  
   For Each x In Range(.Range("H1"), .Cells(.Rows.Count, "H").End(xlUp)).Value  
       h.Add 0, CStr(CLng(x))  
   Next  
   For Each x In Range(.Range("Q2"), .Cells(.Rows.Count, "Q").End(xlUp)).Value  
       h.Add 0, CStr(CLng(x))  
   Next  
End With  
ReDim v(0 To d2 - d1)  
Err.Clear  
For i = d1 To d2  
   h.Add 0, CStr(i)  
   If Err Then Err.Clear Else v(j) = i: j = j + 1  
Next  
ReDim Preserve v(0 To j - 1)  
With Range("Шаблон!J21")  
   Range(.Cells, .End(xlDown)).ClearContents  
   .Resize(j).Value = Application.Transpose(v)  
End With  
End Sub
 
Это, я так понимаю, код листа?
 
Эту подпрограмму можно разместить в обычном модуле или в модуле листа и вызывать по какому-либо событию. Или по нажатию кнопки.
 
Есть проблемка с кодом... адаптировал его под свои нужды, но считает только для первого листа. При следующей итерации - пишет нули вместо дат.  
 
Пример: http://hi-tech-project.ru/project.xlsm
 
Может проблема с адаптацией кода?  
Посмотрите, вставил его в модуль.  
Для первого сгенерированного листа даты выводятся, но не как даты, а как текст, и тут проблема с дальнейшей работой с этим массивом. Для последующих сгенерированных листов выводятся нули...
Страницы: 1
Читают тему
Наверх