Or, even more simply:
Public Sub insDate()
ActiveCell.Value = Date
End Sub
Using Format() to convert Now (which contains both date and time) to a
string, then having XL's parser interpret the string isn't necessary.
How the date is interpreted will depend on your system date settings
(e.g., Format(Date, "d/m/yyyy") on 7 August 2007 (resulting in
7/8/2007), will be interpreted as 8 July 2007 if your date settings are
set to standard US.
The displayed date format will depend on the cell's display format, not
the format you input it with.
If you want a particular format, you should change the cell's
..NumberFormat property, e.g.:
Public Sub insDate()
With ActiveCell
.Value = Date
.NumberFormat = "d/m/yyyy"
End With
End Sub