| Код |
|---|
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
Надаю талб. периодичности то, гляньте ПЛИЗ, может одалеете эту зловещую таблицу.
Руководитель хочет из механика сделать програмиста - не реально