Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("J4:J200, G4:G200, H4:H200, I4:I200")) Is Nothing Then 'если изменененная ячейка попадает в диапазон J4:J200
Dim colDateBegin&, colDateEnd&
colDateBegin = 12
colDateEnd = 13
Dim intEntryRow&
intEntryRow = cell.row
With cell.Parent.Range 'вводим в пятую справа ячейку дату
.Cells(intEntryRow, colDateBegin).value = Now
.Cells(intEntryRow, colDateBegin).AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
.Cells(intEntryRow, colDateEnd) = Now: .Cells(intEntryRow, colDateEnd).AutoFit
End With
End If
Next cell
End Sub