Excel is automatically converting that text you inputting with the macro into a date (and then applying a date format. To force excel to view it as text, prepend a single quote to the date string:
ActiveCell.Value = "'" + Format(Now(), "dd-mmm-yy")
Alternatively, set the format of the cell to text type first:
ActiveCell.NumberFormat = "@" ActiveCell.Value = Format(Now(), "dd-mmm-yy")