I'm sure P45cal is correct and it is a Localization issue
If the value is recognized by Excel as a Date, then the displayed value will adjust
I made a few changes to your macro, but look at the CDate function
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim user_name As String, Oracle_Password As String, end_date As String
If Target.Cells(1, 1).Address <> "$D$7" Then Exit Sub
user_name = InputBox("Please enter your Oracle user name:")
If user_name = "" Then Exit Sub ' don't think you meant 'End'
Oracle_Password = InputBox("Please enter your Oracle password:")
If Oracle_Password = "" Then Exit Sub
'this is a string
end_date = Format(InputBox("Please enter the period end date in the format dd/mm/yyyy (eg 30/06/2013):", Default:=Format(WorksheetFunction.EoMonth(Date, -1), "dd/mm/yyyy")), "dd/mm/yyyy")
If end_date = "" Then Exit Sub
Range("N10").Value = user_name
Range("N11").Value = Oracle_Password
If IsDate(Range("D7").Value) Then
Range("D7").Value = CDate(Range("D7").Value) '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
End If
End Sub
Just by changing the Location of where the PC thinks it is, the format of the date value changes
US.JPGVietnam.JPG