Всем добрый день. Помогите пожалуйста. У меня есть три ячейки A1, B1, C1 . Мне необходимо чтобы в A1, В1 я вводил время без ":" (230 - 2:30, 1457-14:57), а в С1 была формула A1+B1 Нюанс необходимо сохранить вторую формулу ячейки С1=ТЕКСТ(A1+B1;"чч:мм")&" " Есть ли необходимость менять чч:мм на мм:сс, если я считаю минуты и секунды.
Если нужно именно сохранить формулу в столбце C, то можно макросом. В модуль листа.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column > 2 Then Exit Sub
If Len(Target.Value) < 2 Then Exit Sub
Dim hh As String
Dim mm As String
mm = Right(Target.Value, 2)
hh = Left(Target.Value, Len(Target.Value) - 2)
Application.EnableEvents = False
Target.NumberFormat = "h:mm"
Target.Value = TimeSerial(hh, mm, 0)
Application.EnableEvents = True
End Sub
Dgerdy Dgerdy написал: Нюанс необходимо сохранить вторую формулу ячейки С1 =ТЕКСТ(A1+B1;"чч:мм")&" "
именно так и надо оставить или ??? =TEXT(TEXT(A1;"0\:00")+TEXT(B1;"0\:00");"ЧЧ:мм") =TEXT((TEXT(A1;"0\:00")+TEXT(B1;"0\:00"))/60;"мм:сс") Ну и формат для a1 и b1 задать как "0\:00" будет наглядно.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column > 2 Then Exit Sub
If Len(Target.Value) < 2 Then Exit Sub
Dim hh As String
Dim mm As String
mm = Right(Target.Value, 2)
If Len(Target.Value) > 2 Then
hh = Left(Target.Value, Len(Target.Value) - 2)
Else
hh = "00"
End If
Application.EnableEvents = False
Target.NumberFormat = "h:mm"
Target.Value = TimeSerial(0, hh, mm)
Application.EnableEvents = True
End Sub