При подсчете переработки часов появилась проблема: Возможно ли сделать так, что бы при вводе числа в ячейку отображение выводилось так: целая часть результата деления на 8, пользовательская надпись(неизменяемая), остаток деления и опять пользовательская надпись(неизменяемая). Например: указываю в ячейку "64". Отображается "8 ДДО 0 ДВО" указываю "15", отображается "1 ДДО 7 ДВО" указываю "-9", отображается "-1 ДДО 1 ДВО".
p.s. Использование формул (таких как СЦЕПИТЬ) вызывает нагромождение, приходится расчеты делать отдельно, а вывод информации отдельно, что и вызывает неудобства, так как ячейки между собой суммируются\вычитаются.
Заранее благодарен за любые советы!
Всем доброго времени суток!
При подсчете переработки часов появилась проблема: Возможно ли сделать так, что бы при вводе числа в ячейку отображение выводилось так: целая часть результата деления на 8, пользовательская надпись(неизменяемая), остаток деления и опять пользовательская надпись(неизменяемая). Например: указываю в ячейку "64". Отображается "8 ДДО 0 ДВО" указываю "15", отображается "1 ДДО 7 ДВО" указываю "-9", отображается "-1 ДДО 1 ДВО".
p.s. Использование формул (таких как СЦЕПИТЬ) вызывает нагромождение, приходится расчеты делать отдельно, а вывод информации отдельно, что и вызывает неудобства, так как ячейки между собой суммируются\вычитаются.
AVI, Эту формулу я знал) но необходимо сделать так, что бы когда я писал в ячейци А1 число, например 15, в этой же ячейки отображалось "1 ДДО 7 ДВО". Например как если в ячейку записать "10" и выставить формат ячейки Время, то отобразится "0:00:00".
AVI, Эту формулу я знал) но необходимо сделать так, что бы когда я писал в ячейци А1 число, например 15, в этой же ячейки отображалось "1 ДДО 7 ДВО". Например как если в ячейку записать "10" и выставить формат ячейки Время, то отобразится "0:00:00".naumov
необходимо сделать так, что бы когда я писал в ячейци А1 число, например 15, в этой же ячейки отображалось "1 ДДО 7 ДВО".
Вы хотите с помощью пользовательского формата произвести еще и вычисления? Разделить на 8 и выделить остаток? Ну я лично не знаю о таких возможностях пользовательского форматирования. Такого вида отображение можно сделать с помощью макроса. А дальше что вы намереваетесь с таким отображением делать?
необходимо сделать так, что бы когда я писал в ячейци А1 число, например 15, в этой же ячейки отображалось "1 ДДО 7 ДВО".
Вы хотите с помощью пользовательского формата произвести еще и вычисления? Разделить на 8 и выделить остаток? Ну я лично не знаю о таких возможностях пользовательского форматирования. Такого вида отображение можно сделать с помощью макроса. А дальше что вы намереваетесь с таким отображением делать?Wasilich
Wasilich, да, совершенно верно, хотел произвести вычисления (если это возможно). Такого вида отображение для вывода (печать, отображение на экране) не удобно для подсчетов. Но вы ответили более чем на мой вопрос, который я не так конкретно задал как ваш ответ Пользовательский формат ячейки не будет производить вычисления. Спасибо большое Wasilich и AVI за отзывчивость!)
p.s. Уже думал перевести число в восьмиричную систему счисления, пробовал, ни к чему хорошему не пришел)
Wasilich, да, совершенно верно, хотел произвести вычисления (если это возможно). Такого вида отображение для вывода (печать, отображение на экране) не удобно для подсчетов. Но вы ответили более чем на мой вопрос, который я не так конкретно задал как ваш ответ Пользовательский формат ячейки не будет производить вычисления. Спасибо большое Wasilich и AVI за отзывчивость!)
p.s. Уже думал перевести число в восьмиричную систему счисления, пробовал, ни к чему хорошему не пришел)naumov
Можно макросом. Например, вот такой код в модуль листа [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim d_ As Range, c_ As Range Set d_ = Intersect(Target, Range("A1:D20")) If d_ Is Nothing Then Exit Sub For Each c_ In d_ If c_ <> "" Then If IsNumeric(c_) Then gg = Fix(c_ / 8) ggq = c_ Mod 8 f_ = Fix(Abs(c_) / 8) & " ДДО " & Abs(c_) Mod 8 & " ДВО" dd = Int(c_ / 8) c_.NumberFormat = """" & f_ & """" End If End If Next c_ End Sub
[/vba]
Можно макросом. Например, вот такой код в модуль листа [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim d_ As Range, c_ As Range Set d_ = Intersect(Target, Range("A1:D20")) If d_ Is Nothing Then Exit Sub For Each c_ In d_ If c_ <> "" Then If IsNumeric(c_) Then gg = Fix(c_ / 8) ggq = c_ Mod 8 f_ = Fix(Abs(c_) / 8) & " ДДО " & Abs(c_) Mod 8 & " ДВО" dd = Int(c_ / 8) c_.NumberFormat = """" & f_ & """" End If End If Next c_ End Sub