12345tn, так хотели?
[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False 'отключение отслеживания событий
a = Cells(Rows.Count, "b").End(xlUp).Row 'нижняя заполненная ячейка столбца B
If Not Intersect(Target, Range("b2:c" & a)) Is Nothing Then 'изменение ячеек в B и C
If Target.Count > 1 Then 'если изменяется > 1 ячейки:
Application.EnableEvents = True 'включаем отслеживания событий
Exit Sub 'прекращаем работу макроса
End If
b = Target.Value 'значение вводимое в ячейку
On Error Resume Next 'если ошибка, идем дальше
c = "" 'при ошибке целое = пустоте*
c = Int(b) 'целое от значения (если только время, = 0)
If c = 0 Then
d = Target.Row 'строка, в которую вводиться значение
e = Target.Column 'столбец, в который вводиться значение
If e = 2 Then 'если это столбец B (2)
Rows(d).Insert 'добавляем строку
Target.Offset(-1, 0) = Date + b 'в строку выше сегодня + введенное время
Target.ClearContents 'очищаем строку со временем
Else 'иначе - столбец C
Target = Date + b 'в ячейке с введенным временем добавляем сегодня
End If
End If
End If
Application.EnableEvents = True 'включаем отслеживания событий
End Sub
[/vba]