Требование:
Рассчитать количество понедельников, которые являются выходными днями между диапазонами дат, и выполнить их с помощью макроса.Я мог бы получить формулу, которая может дать мне правильный результат
=SumProduct((VIC >= DATEVALUE("1/01/2016")) * (VIC <= DATEVALUE("19/01''/2018")) * (Weekday(VIC, 2) = 1))
Не могли бы вы помочь мне выполнить формулу, хранящуюся в строке?
Sub TestFunction()
Dim LeaveStartDate, LeaveEndDate As Date
Set srcdoc = Worksheets("Sheet1")
Dim CntSunPH As String
LeaveStartDate = Worksheets("Sheet1").Cells(1, "B").Value
LeaveEndDate = Worksheets("Sheet1").Cells(2, "B").Value
State = "VIC"
CntSunPH = Replace((Replace(Replace(("=SumProduct((State >= DATEVALUE(""LeaveStartDate"")) * (State <= DATEVALUE(""LeaveEndDate"")) * (Weekday(State, 2) = 1))"), "State", State), "LeaveStartDate", LeaveStartDate)), "LeaveEndDate", LeaveEndDate)
n = 0
n = Application.WorksheetFunction.Execute("=SumProduct((VIC >= DATEVALUE(""1/01/2016"")) * (VIC <= DATEVALUE(""19/01/2018"")) * (Weekday(VIC, 2) = 1))")
Debug.Print "Date1 " & LeaveStartDate
Debug.Print "Date2 " & LeaveEndDate
Debug.Print CntSunPH
Debug.Print n
End Sub