Формат, вероятно, возвращает дату в нужном вам формате, но затем она преобразуется в значение даты, которое затем печатается в формате по умолчанию для вашей системы.Чтобы сохранить их в нужном формате, вы можете попробовать что-то вроде:
Option Explicit
Sub cmdSubmit_Click()
Dim StartDate As Date, EndDate As Date
Dim s1 As String, s2 As String
StartDate = #6/11/2018#
EndDate = #6/24/2018#
'StartDate = Format(StartDate, "dd/mmm/yyyy")
'EndDate = Format(EndDate, "dd/mmm/yyyy")
s1 = Format(StartDate, "dd/mmm/yyyy")
s2 = Format(EndDate, "dd/mmm/yyyy")
Debug.Print StartDate & " - " & s1 ' gave me 6/11/2018 instead of 11/Jun/2018
Debug.Print EndDate & " - " & s2
End Sub
В качестве альтернативы, если вы хотите, чтобы они были в ячейке как даты, вы можете установить NumberFormat
диапазона, в который вы их записываете, чтобы быть в нужном вам формате:
Sheet1.Range("A1") = StartDate
Sheet1.Range("A2") = EndDate
Sheet1.Range("A1:A2").NumberFormat = "dd.mmm.yyyy"