Всем доброго времени. Тут в приёмах по этой ссылке есть замечательный код VBA для Excel, позволяющий быстро вводить время в ячейку без двоеточия. Для учёта времени прихода и ухода в табеле очень удобно. Сейчас перешли в облако на Google Таблицы, и очень хотелось бы такой же функционал иметь. В комментариях к этому приёму, "Юрий Павлов" уже переписал код из VBA в Google Apps, но только ту часть которая отвечает за быстрый ввод даты. Может кто поможет и перепишет код на Google Apps? Нужен только быстрый ввод времени. (чтобы к примеру при наборе в ячейке числа "1730" автоматом вводилось "17:30" и формат ячейки менялся на "H:mm" )
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vVal
Dim StrVal As String
Dim dDate As Date
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A2:A10")) Is Nothing Then
With Target
StrVal = Format(.Text, "000000")
If IsNumeric(StrVal) And Len(StrVal) = 6 Then
Application.EnableEvents = False
dDate = DateValue(Left(StrVal, 2) & "/" & Mid(StrVal, 3, 2) & "/" & Right(StrVal, 2))
.NumberFormat = "dd/mm/yyyy"
.Value = CDate(DateSerial(Year(dDate), Month(dDate), Day(dDate)))
End If
End With
End If
If Not Intersect(Target, Range("B2:B10")) Is Nothing Then
With Target
vVal = Format(.Value, "0000")
If IsNumeric(vVal) And Len(vVal) = 4 Then
Application.EnableEvents = False
.Value = Left(vVal, 2) & ":" & Right(vVal, 2)
.NumberFormat = "[h]:mm"
End If
End With
End If
Application.EnableEvents = True
End Sub