증상
Microsoft Excel 워크시트의 셀 값을 프로그래밍 방식으로 변경 하면 지정한 밀리초 값이 가장 가까운 초로 반올림 됩니다. 이 문제는 다음 조건에 해당할 때 발생 합니다.
-
변경한 내용에 의해 VBA 날짜 형식이 나 셀에 Variant 날짜 서식이 지정 됩니다.
-
Visual Basic for Applications 매크로를 사용 하거나 외부 자동화 클라이언트를 사용 하 여 프로그래밍 방식으로 변경을 수행 합니다.
이 문제는 사용자가 변경한 내용이 셀에 날짜 형식이 나 시간 서식을 지정 하는 경우에는 발생 하지 않습니다.
원인
이 문제는 Excel에서 제어판에 있는 국가 및 언어 옵션 항목의 국가별 옵션 탭에 지정 된 날짜 및 시간 형식에 따라 내부적으로 날짜 문자열에 서식을 적용 하기 때문에 발생 합니다. 이 값은 가장 가까운 초로 반올림 됩니다. Excel에서 셀에이 값을 할당 한 다음 값을 다시 계산 하 여 셀에 대 한 새 날짜 값을 생성 합니다.
해결 방법
이 문제를 해결 하려면 다음 방법 중 하나를 사용 합니다.
방법 1
날짜 값을 초의 소수 부분을 포함 하는 문자열 형식으로 변환할 수 있습니다. 이 문자열 값은 밀리초를 유지 하는 날짜 형식으로 지정 되 고 계산 될 수 있습니다.
방법 2
Range 개체의 Value2 속성을 사용 하 여 밀리초를 유지할 수 있습니다. 예를 들어 다음 VBA 코드를 사용할 수 있습니다.
Sub CopyValueUsingVBDate() Dim d As Date d = ActiveSheet.Range("A1").Value ActiveSheet.Range("B1").Value2 = dEnd Sub
추가 정보는 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.
182812 Range 개체의 Value2 속성에 대 한 설명