Sub ChangeFormatDateWrong()
Dim LR&, R As Range, Arr$(), T$
Set R = ThisWorkbook.Sheets("goc").Range("H2")
LR = R(Rows.Count - R.Row, 1).End(3).Row - R.Row + 1
If LR > Application.Columns.Count Then LR = Application.Columns.Count
T = VBA.Join(Application.Transpose(R.Resize(LR).Value), ",")
T = FormatDateWrong(T, "$2/$1/$3 $4")
Arr = Split(T, ",")
R.Resize(LR).Value = Application.Transpose(Arr)
Set R = Nothing: Erase Arr
FormatDateWrong "", Terminate:=True
End Sub
Function FormatDateWrong(ByVal Text As String, _
Optional ByVal AreaMove$ = "$2/$1/$3 $4", _
Optional ByVal Terminate As Boolean = 0) As String
Static RE As Object
If RE Is Nothing Then
Set RE = CreateObject("VBScript.RegExp")
Else
If Terminate Then Set RE = Nothing: Exit Function
End If
With RE
.Global = True
.Pattern = "(\d{1,4})\/(\d{1,4})\/(\d{1,4}) (\d{1,2}:\d{1,2}:\d{1,2})"
FormatDateWrong = .Replace(Text, AreaMove)
End With
End Function