Сначала рассмотрите региональные настройки вашей системы. Так как вы можете запутаться, если наберете 11/10/2001
, какая дата будет правильной? Thursday, October 11, 2001
или Saturday, November 10, 2001
? Это зависит от вас.
Действуйте с этим отказом от ответственности:
Sub formatDate()
'dd/mm/yyyy
'to
'mm/dd/yyyy
Dim str As String 'your string with the date this way: dd/mm/yyyy
Dim D 'to days
Dim M 'to months
Dim Y 'to years
str = "11/10/2001" 'dd/mm/yyyy
D = CInt(Left(str, 2)) 'Need to cast this "11" to this 11.
M = CInt(Mid(str, 4, 2))
Y = CInt(Right(str, 4))
Dim DD As Date 'define the vas as a Date to tell the system to use the regional setting of dates
DD = DateSerial(Y, M, D) 'Now we just need to insert the values inside DateSerial as the function need
Range("N1").Value = DD 'Send the value to the cell you need, here I use N1
'Range("N:N").NumberFormat = "[$-F800]dddd, mmmm dd, yyyy" 'Use the format you want. I like this.
Range("N:O").NumberFormat = "mm/dd/yyyy" 'This is your format. Both columns
End Sub