Цикл сетевых дней — Я хочу получить цикл сетевых дней . но выдаю ошибку. Я использую office 2016. заранее благодарю вас за ваши усилия

#vba #worksheet-function

Вопрос:

я пытаюсь запустить цикл networkdays в office 2016, но не справляюсь.

 Sub Macro8()
    
    Dim N As Long
    Dim wf As WorksheetFunction
    
    
    Set wf = Application.WorksheetFunction
    
    N = Sheets("Dump").Range("A" amp; Rows.Count).End(xlUp).Row
                Range("E1") = Date 'i want to use today's date as lastest date to find the networkdays
                For i = 2 To N
                
                Cells(i, 4).Formula = wf.NetworkDays(Cells(i, 3), Cells(1, 5))
    
    Next N
    End Sub
 

Ответ №1:

Проблема в вашем коде заключается в том, что счетчик i не был определен, и когда вы закрываете цикл, должно быть «Следующее я». Нет необходимости устанавливать функцию рабочего листа.

Попробуйте это:

 Sub TEST_NetworkDays()

    Dim N As Long, i As Long
    
    N = Sheets("Dump").Range("A" amp; Rows.count).End(xlUp).row
    Range("E1") = Date 'i want to use today's date as lastest date to find the networkdays
    
    For i = 2 To N
        Cells(i, 4).Value = Application.WorksheetFunction.NetworkDays(Cells(i, 3), Cells(1, 5))
    Next i
    
    'with Holidays
    For i = 2 To N
        Cells(i, 4).Value = Application.WorksheetFunction.NetworkDays(Cells(i, 3), Cells(1, 5), Range(Cells(3, 9), Cells(12, 9)))
    Next i
End Sub