Excel에서 숫자를 잘못 저장함

Excel에서 숫자를 잘못 저장함

셀에 값을 입력하면 예상대로 저장되지만 VBA 코드를 통해 값을 설정하면 잘못 저장됩니다. 좀 더 구체적으로 어떤 것의 높이를 계산했는데 그 결과 값이 1.15였습니다. 숫자는 올바르게 표시되지만 셀을 클릭하면 실제로 저장되는 숫자는 1.14999997615814입니다. 이 번호 또는 조건에 따라 다른 번호를 사용하는 다른 셀이 있습니다. 해당 셀에는 항상 잘못된 실제 저장된 숫자(1.14999997615814)가 표시됩니다. 이는 정부 엔지니어가 검토하는 기술 문서이므로 작은 편차라도 문서가 거부될 수 있습니다. 숫자를 텍스트로 저장하고(차이 없음), 저장하기 전에 반올림하고(차이 없음), 저장하기 전에 단정밀도 또는 이중 정밀도로 계산해 보았습니다. Excel에서 수행하는 작업에는 차이가 없습니다. 모든 값에서 이런 현상이 발생하는 것은 아니지만 계산된 결과가 1.15일 때 이러한 동작이 나타납니다. 숫자를 올바르게 저장하는 유일한 방법은 숫자를 수동으로 입력하는 것이며 이는 값을 계산하는 목적을 모두 무효화하는 것입니다. 무슨 일이 일어나고 있는지, 그리고 어떻게 Excel이 올바르게 작동하도록 강제, 강요 또는 뇌물을 줄 수 있는지에 대한 통찰력을 갖고 있는 사람이 있습니까?

티아.

답변1

실제로 문제의 원인이 무엇인지 아직도 모르겠습니다. 결과를 얻는 데 사용되는 코드를 설명하는 것을 지루하게 만들지 않겠습니다. 요약하자면 추가할 숫자를 찾아서 추가하는 것뿐입니다. 값은 (0.0747*2)+(0.25*2)+.05006이며 이는 1.15와 같습니다. 효과가 있었던 유일한 수정 사항은 결과를 셀에 텍스트로 할당한 다음 다음과 같은 숫자로 변환하는 것이었습니다.

    ws.Range("L24").Value = "'" & JobSettings.BrgHeight
    ws.Range("L24").Select
    Selection.NumberFormat = "General"

관련 정보