The code below watches column A on a sheet, and when it is changed puts current date to the same row column B:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Target.Parent.Range("A:A")) Is Nothing Then Exit Sub
Target.Next.Value = Date
End Sub
This will work correctly only if single cell is changed, try to modify it for multiple yourself