Hi mapfax,
The reason why this occurs is that the first date format (dd/mm/yyyy) is not an "Excel-compliant" date format. You can get Excel to DISPLAY dates in this form via a custom Date numberformat, but you probably have noticed that if you enter dates into Excel in this format, it will interpret these as text strings rather than dates. This occurs because these are "non-compliant" in the same way as entering today's date in the form of May-01-02 (non-compliant) rather than 01-May-02 (compliant). If you were to write the dates in this format to a csv file, then read them back into Excel, Excel would have to interpret them as text strings, not dates! So Excel writes them out in a compliant format so that it will be able to read them in later as dates, not strings. If you really want to write them out in this non-compliant format you will have to change them to Text formats, and of course accept that fact that you will only be able to read them back into Excel as the text strings that they are. To convert all dates on the active worksheet to text strings, just use the following macro:
Sub DateToDateText()
Dim strDate As String
Dim Cell As Range
For Each Cell In ActiveSheet.UsedRange
If IsDate(Cell) Then
strDate = Cell
Cell.ClearContents
Cell.NumberFormat = "@"
Cell = strDate
End If
Next Cell
End Sub
If later you want to read them in again, and want Excel to interpret them as dates, here is a macro that will convert them back:
Sub DateTextToDate()
' Converts all text-formatted cells that contain legitimate
' date strings to Excel dates
Dim Cell As Range
Dim strDate As String
For Each Cell In ActiveSheet.UsedRange
If IsDate(Cell) Then
strDate = Cell
Cell.ClearContents
Cell.NumberFormat = "General"
Cell = strDate
End If
Next Cell
End Sub