2014-10-22 2 views
0

DTPicker에서 오는 날짜 값을 기준으로 결과를 필터링하려면 AutoFilter을 사용하려고합니다.VBA 자동 필터 지역 날짜 형식 문제

예를 들어, 나는 다음과 같이 DTPicker1에서 9 월 1 일을 선택 :

Worksheets("WS_Name").Range("A5:L5").AutoFilter _ 
field:=3, _ 
Criteria1:=">" & DTPicker1.Value, _ 

그리고 필터가 이상하게 월에 적용됩니다 : enter image description here

는 그 다음 VBA 코드에서, 나는 이렇게 9 월 1 일 대신에 9 일. 따라서 DD/MM/YYYY 형식을 사용하면 01/09/2014 대신 적용됩니다.

OS의 캘린더 설정을 확인했는데 올바르게 설정되었습니다.

enter image description here

는 또한 DTPicker1.Value 그래서 왜 AutoFilter이처럼 행동한다 MsgBox DTPicker1.Value

enter image description here

를 사용하여 형식이 정확한지 확인했다? 어떻게하면 DD/MM/YYYY 형식으로 작동하게 할 수 있습니까?

답변

3

나는 VBA only understands American Date Format라고 생각합니다.

따라서 DTPicker1의 날짜 값을 미국 날짜 형식으로 변환 해보십시오.

Worksheets("WS_Name").Range("A5:L5").AutoFilter _ 
field:=3, _ 
Criteria1:=">" & Format(DTPicker1.Value, "mm/dd/yyyy"), _ 
+1

이렇게 수정했습니다. 고맙습니다!! – RonaDona