2009-03-31 10 views
0

vba의 형식 함수가 날짜를 변경하고 있습니다. 예 : 형식 ("3/12/2009", "DD/MM/YYYY")의 경우 함수는 12/03/2009를 반환합니다. 여기서 "3/12/2009"는 VB에서 값 12를 가진 셀에서 읽는 것입니다 -Mar-2009 및 형식은 "dd-mmm-yyyy"포맷 함수 vba 날짜 변경

답변

2

아니요.

date-as-string이 Format 함수에 전달되면 현재 지역 설정을 사용하여 문자열을 구문 분석합니다. 귀하의 설정은 분명히 미국의 경우 기본값 인 MM/DD/YYYY입니다. 수동으로 설정하는 경우 Excel에서 날짜를 DD/MM/YYYY로 표시하지 않으므로 기본적으로 MM/DD/YYYY가 표시됩니다.

해야 할 일 : 문자열로 날짜를 읽는 것을 중지하십시오. 날짜로 읽으십시오.

이 제대로 작동하지 않습니다 :

myRs.FindFirst ("Date =#" & myDate & "#") 

이 작동 :

myRs.FindFirst ("Date =#" & Format(myDate, "Long Date") & "#") 
VBA가 액세스 reades 대부분은 같은 그림 Europian 날짜하지만 미국 같은 일부 어디
dim d as date 
d = activecell.value 
+0

또는 String을 사용해야하는 경우 YYYY-MM-DD 형식 (예 : 2009-03-12)으로 입력하십시오. 그래도 날짜를 사용하는 것이 더 좋습니다. – barrowc

0

자신을 몇 번 문제가 있었다

긴 날짜 (예 : 2012 년 1 월 1 일)는 분명히 월과 일의 차이를 만듭니다