superbeast326
You are right that the formula suggested will not record "the date that the change was made" as you requested, it will simply show the current date for any rows where the change has been made at some time in the past.
The link provided in post #4 has some suggestions regarding this sort of thing. For your circumstances, you could try this. It assumes the values in column A are not the result of formulas.
You didn't say if it is possible, or what should happen if you subsequently change a "Yes" value back to "No" or to some other value? My code just leaves column B with the previous date in this circumstance.
To implement ..
1. Right click the sheet name tab and choose "View Code".
2. Copy and Paste the code below into the main right hand pane that opens at step 1.
3. Close the Visual Basic window and test.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Changed As Range, c As Range
Const myRange As String = "A2:A51" '<- Change to suit
Set Changed = Intersect(Target, Range(myRange))
If Not Changed Is Nothing Then
Application.EnableEvents = False
For Each c In Changed
If UCase(c.Value) = "YES" Then
c.Offset(, 1).Value = Date
End If
Next c
Application.EnableEvents = True
End If
End Sub