Доброго времени суток уважаемые форумчане и гости форума. При вводе моточасов экскаватора цифра перевалила за 999 моточасов. У экскаватора их на счётчике всего 3 (три). Можно ли через формат ячейки сделать, что бы при вводе в ячейку например числа 1023 отображалось только 023 или это возможно только макросом?
Доброго времени суток уважаемые форумчане и гости форума. При вводе моточасов экскаватора цифра перевалила за 999 моточасов. У экскаватора их на счётчике всего 3 (три). Можно ли через формат ячейки сделать, что бы при вводе в ячейку например числа 1023 отображалось только 023 или это возможно только макросом?DrMini
Думаю будет неудобно. Таблица небольшая. И таких переходов счётчика за 3 года моей работы в этой организации, - это в первый раз. Данные счётчика за текущий месяц бухгалтер вводит в ручную, перед данными предыдущего месяца, а разница между показаниями отображается в соседней ячейке и переходит на следующий месяц.
Думаю будет неудобно. Таблица небольшая. И таких переходов счётчика за 3 года моей работы в этой организации, - это в первый раз. Данные счётчика за текущий месяц бухгалтер вводит в ручную, перед данными предыдущего месяца, а разница между показаниями отображается в соседней ячейке и переходит на следующий месяц.DrMini
В том то и дело, что вносить то можно сколько угодно цифр, а вот отображаться при распечатывании только 3 (три). А, что делать с Вашей формулой? Я в VBA ноль с большой буквы. Попробовал добавить в модуль но ...
В том то и дело, что вносить то можно сколько угодно цифр, а вот отображаться при распечатывании только 3 (три). А, что делать с Вашей формулой? Я в VBA ноль с большой буквы. Попробовал добавить в модуль но ...DrMini
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) u = Cells(Rows.Count, "a").End(xlUp).Row + 1 If Not Intersect(Target, Range("b2:b" & u)) Is Nothing Then Target.NumberFormat = """" & Right(Target, 3) & """" End If End Sub
[/vba]начало месяца = формуле. на какое событие вешать?
с концом месяца понятно, в модуль книги [vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) u = Cells(Rows.Count, "a").End(xlUp).Row + 1 If Not Intersect(Target, Range("b2:b" & u)) Is Nothing Then Target.NumberFormat = """" & Right(Target, 3) & """" End If End Sub
[/vba]начало месяца = формуле. на какое событие вешать?Nic70y
DrMini, в целом согласен с alexa1965, плодить до 999 разных форматов ради этого не имеет смысла ну разве что
Код
=B3-A3+(B3<A3)*1000
но если очень хочется то примерно так
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Range("a:b")).SpecialCells(xlCellTypeConstants) Is Nothing Then For Each cell In Intersect(Target, Range("a:b")).SpecialCells(xlCellTypeConstants) If cell > 999 Then cell.NumberFormat = """" & Right(cell, 3) & """" Else cell.NumberFormat = "" End If Next End If End Sub
[/vba]
DrMini, в целом согласен с alexa1965, плодить до 999 разных форматов ради этого не имеет смысла ну разве что
Код
=B3-A3+(B3<A3)*1000
но если очень хочется то примерно так
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Range("a:b")).SpecialCells(xlCellTypeConstants) Is Nothing Then For Each cell In Intersect(Target, Range("a:b")).SpecialCells(xlCellTypeConstants) If cell > 999 Then cell.NumberFormat = """" & Right(cell, 3) & """" Else cell.NumberFormat = "" End If Next End If End Sub
плодить до 999 разных форматов ради этого не имеет смысла
bmv98rus, Большое спасибо за Ваш вариант формулы. Теперь получилось добавить фунцию ЕСЛИ для того, что бы при пустых ячейках A или B в ячейке С было бы пусто.
плодить до 999 разных форматов ради этого не имеет смысла
bmv98rus, Большое спасибо за Ваш вариант формулы. Теперь получилось добавить фунцию ЕСЛИ для того, что бы при пустых ячейках A или B в ячейке С было бы пусто.