Уважаемые Гуру Excel !!! Выручите!!! Может быть есть у кого таблица планирования и расчёта ТО1, ТО2 автомобилей, парк разномарочный, пробеги до ТО1 и ТО2 разные, Сам городил огород но много ошибок, поисковик чушь выдает, а твердолобые руководятлы!!! зат...ли!!! Я технарь, а не программист а они своё...Фаил нашел на просторах инета..надо чтобы можно было строки продолжать в каждом разделе... и чтоб ошибки не вылазили, может есть спецы????
Уважаемые Гуру Excel !!! Выручите!!! Может быть есть у кого таблица планирования и расчёта ТО1, ТО2 автомобилей, парк разномарочный, пробеги до ТО1 и ТО2 разные, Сам городил огород но много ошибок, поисковик чушь выдает, а твердолобые руководятлы!!! зат...ли!!! Я технарь, а не программист а они своё...Фаил нашел на просторах инета..надо чтобы можно было строки продолжать в каждом разделе... и чтоб ошибки не вылазили, может есть спецы????горыныч
Если не считать того, что ячейки с ошибками некорректно протянуты - вместо нужного значения в нужный день всё-равно выдаст ошибку и вот почему. Есть ключевая функция NextRepear (меня, как любителя английского, передёрнуло от такого названия переменной). На эту функцию завязаны все вычисления. Взгляните на строку, где задаётся массив Cycle:
[vba]
Код
Function NextRepear(LastRepear As String, m As Integer)
Dim n As Integer, Cycle
'Да-да, вот эта строка ниже Cycle = Split("1ТО-1,2ТО-1Ф,3ТО-1,ТО-2", ",")
n = Application.WorksheetFunction.Match(LastRepear, Cycle, 0) n = (n + m) Mod 4 NextRepear = Cycle(n)
End Function
[/vba] Мы видим, что к работе с такими значениями вида ТО как ТО-3, ТО-4, ТО-5 и т.д. функцию жизнь не готовила. А именно эти значения в функцию подставляются со строки номер 17.
Строка 27 не будет работать именно сегодня, 23-го декабря 2014, поскольку в ключевой ячейке C27 мы делим на разность сегодняшней даты и значения ячейки Е27. И именно сегодня эта разность равна нулю. Excel, увы, не представитель высшей математики и к делению на ноль относится брезгливо.
Чтобы Вам могли помочь - желательно детально описать алгоритм планирования ТО.
UPD: Прошу прощения, не заметил, что Елена вчера уже ответила на Ваш вопрос. Вижу, что строка массива была дополнена и ячейки протянуты корректно.
[/vba] Правда, не знаю, насколько теперь корректно при поиске следующего значения опираться на целочисленное деление на 4 (предыдущий размер массива).
[vba]
Код
n = (n + m) Mod 4
[/vba]
горыныч, здравствуйте.
Если не считать того, что ячейки с ошибками некорректно протянуты - вместо нужного значения в нужный день всё-равно выдаст ошибку и вот почему. Есть ключевая функция NextRepear (меня, как любителя английского, передёрнуло от такого названия переменной). На эту функцию завязаны все вычисления. Взгляните на строку, где задаётся массив Cycle:
[vba]
Код
Function NextRepear(LastRepear As String, m As Integer)
Dim n As Integer, Cycle
'Да-да, вот эта строка ниже Cycle = Split("1ТО-1,2ТО-1Ф,3ТО-1,ТО-2", ",")
n = Application.WorksheetFunction.Match(LastRepear, Cycle, 0) n = (n + m) Mod 4 NextRepear = Cycle(n)
End Function
[/vba] Мы видим, что к работе с такими значениями вида ТО как ТО-3, ТО-4, ТО-5 и т.д. функцию жизнь не готовила. А именно эти значения в функцию подставляются со строки номер 17.
Строка 27 не будет работать именно сегодня, 23-го декабря 2014, поскольку в ключевой ячейке C27 мы делим на разность сегодняшней даты и значения ячейки Е27. И именно сегодня эта разность равна нулю. Excel, увы, не представитель высшей математики и к делению на ноль относится брезгливо.
Чтобы Вам могли помочь - желательно детально описать алгоритм планирования ТО.
UPD: Прошу прощения, не заметил, что Елена вчера уже ответила на Ваш вопрос. Вижу, что строка массива была дополнена и ячейки протянуты корректно.