Код |
---|
Function NextRepear(LastRepear As String, m As Integer) Dim n As Integer, Cycle Cycle = Split("ÒÎ-X,ÒÎ-S,ÒÎ-L", ",") n = Application.WorksheetFunction.Match(LastRepear, Cycle, 0) n = (n + m) Mod 3 NextRepear = Cycle(n) End Function Function FutureRepear(LastRepear As String, LastDate As Date, CurrentDate As Date, Cross As Double) Dim Delta As Integer Delta = Int((CurrentDate - LastDate) * Cross) If Delta < 22500 Then FutureRepear = "" ElseIf Delta >= 22500 And Delta < 22500 + Cross Then FutureRepear = NextRepear(LastRepear, 0) ElseIf Delta >= 45000 And Delta < 45000 + Cross Then FutureRepear = NextRepear(LastRepear, 1) ElseIf Delta >= 180000 And Delta < 180000 + Cross Then FutureRepear = NextRepear(LastRepear, 2) Else FutureRepear = "" End If End Function |
Изменения сделал, но всеравно считает немного нетак как надо
Дату ТО столбец 11 расчитывает правильно, но не верно указывает вид следующего ТО (как в столбце 10 так и в столбце 34). если при пробеге 157500 было то-х то следующее должно быть при пробеге 180 000 то-L
Надаю талб. периодичности то, гляньте ПЛИЗ, может одалеете эту зловещую таблицу.
Руководитель хочет из механика сделать програмиста - не реально