An idea inspired by Paul's Excellent code

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Range("B4"), Target) Is Nothing Then LogB4 Range("B4")  'Edit B4 as needed
   If Not Intersect(Range("B6"), Target) Is Nothing Then LogB6 Range("B6")
End Sub

Private Sub LogB4(ByVal Target As Range) 'Change Name "LogB4" as needed
   If Target = 0 Then Exit Sub
   Worksheets("Log").Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0) = Now
End Sub
    
Private Sub LogB6(ByVal Target As Range)
   If Target = 0 Then Exit Sub
   Worksheets("Log2").Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0) = Now
End Sub
My way:
Private Sub logSamT(ByVal Target As Range)
'Records time of change, what cell was changed, who changed it and the new value
'To use in worksheet Change sub:
'  If Not Intersect(Range("B4"), Target) Is Nothing Then LogSamT Range("B4")
'  If Not Intersect(Range("B6"), Target) Is Nothing Then LogSamT Range("B6")
'Repeat for each desired range

Dim NewCell As Range

   With Worksheets("logSamT")
      Set NewCell = .Cells(.Rows.Count, "A").End(xlUp).Offset(1)
      NewCell = Now
      NewCell.Offset(0, 1) = Target.Address
      NewCell.Offset(0, 2) = Application.UserName
      NewCell.Offset(0, 3) = Target.Value
   End With
End Sub