2013-06-03 2 views
1

Как сравнить две строки даты в vba, например, «01.02.2013 < 02/02/2013»? Какими бы ни были даты, это всегда показывает правду. И два формата даты правильны в примере i.VBA: сравнить два формата даты в vba

Ниже приведен код ошибки vba.

Sub aa() 
Dim a As Variant, b As Variant, c As Variant 
a = Format("1.2.2012", "DD\/MM\/YYYY") 
b = Format("2.2.2012", "DD\/MM\/YYYY") 
MsgBox (a) 
End Sub 
+1

Это не даты, они являются дата строки. Преобразовать их сначала укажите тип данных Date, затем сравните их. – RBarryYoung

ответ

2

Преобразование даты (строк) в формат CDate() принимает. 02/02/2013 работает, думаю, 02.02.2013 нет. При необходимости используйте Replace().

Затем вы можете преобразовать данные в String в тип данных Date с помощью CDate(myString). Даты можно сравнивать друг с другом с помощью обычных операторов, таких как> < =.

1

Очистка строки в правильном формате (посмотреть, что принимает CDATE, а затем использовать CDate (а)> = CDate (б) для сравнения.

+0

извинения, Aeronth - не видел вашего ответа, мой же. – Thomas