2013-06-03 3 views
1

"01.02.2013 < 02/02/2013"과 같이 vba의 두 날짜 문자열을 어떻게 비교합니까? 날짜가 언제이든 항상 표시됩니다. 그리고 두 개의 날짜 형식이 올바른 예입니다.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()의 형식으로 변환하십시오. 2011 년 2 월 2 일 작동합니다. 02.02.2013은 그렇지 않습니다. 필요한 경우 Replace()을 사용하십시오.

그런 다음 CDate(myString)을 사용하여 String 데이터를 Date 데이터 형식으로 캐스팅 할 수 있습니다. > < =과 같은 일반적인 연산자를 사용하여 날짜를 서로 비교할 수 있습니다.

1

정리 올바른 형식으로 문자열 (CDATE 받아들이 무엇을보고, 다음에서는 CDate의 (a)> =에서는 CDate (b)에 비교하는 데 사용합니다.

+0

사과, Aeronth - 답변을 보지 못했습니다. 내 것은 같습니다. – Thomas