Q:

How to avoid this strange date coercion

I have this formula in C4: 
=TEXT(EOMONTH(NOW(),-1),"MMM-yy")

The date being displayed is Dec-16 i.e. December 2016
When I then run this vba:
Sub makeDateValues()
  With Range("C4")
      .Value = .Value
  End With
End Sub

The date becomes 16/12/2017. 
How do I safely amend the above so that the date stays December-2016 ?

A:

Yo can remove TEXT() from formula to:
=EOMONTH(NOW(),-1)

and just use cell formatting from main tools ribbon to diplay this number as you like. 

