2011-08-18 3 views
2

Excel에서 소수에 유니 코드 분수 문자 (저속한 분수를) 변환 93.1252003 내가 엑셀 ​​2003 년에 진수에 다음 텍스트를 변환하기 위해 노력하고있어

내가이 VBA의 기능을 대체 사용하여 ¼, ½, ¾ 작업이 왔 : 예를 들어 이 작동 :

cur_cell = Replace(cur_cell, "½", " 1/2") 

Howeve r 인 경우 1/8 및 패밀리 문자는 VBA 편집기에서 지원되지 않습니다. 그들은 ??으로 표시됩니다. 대신 유니 코드 값을 직접 바꾸려고 시도했습니다.

cur_cell = Replace(cur_cell, " & ChrW$(&H215B) & ", " 1/8") 

하지만 작동하지 않습니다.

이 문자열을 사용할 수있는 숫자로 변환하는 좋은 방법이 있습니까?

답변

4

정확한 구문은 다음

cur_cell = Replace(cur_cell, ChrW$(&H215B), " 1/8") 

내 말한 예 : 공간 앰퍼샌드, 1/8와 공간 [등]로 구성된 스트링을 교체한다. 분명히 그것은 당신이하고 싶은 것이 아닙니다!

사실 권하고 싶습니다 :

cur_cell.Value = Replace(Replace(cur_cell.Value, ChrW$(&H215B), ".125")," ","") 

분수의 Excel의 자동 교체를 우회 할 수 있습니다. 나는 그런 종류의 자동 물건에 의존하기를 좋아하지 않는다. 10 진수로 직접 쓰지 않는 이유는 무엇입니까? 또한, 나는 명시 적으로 세포의 .Value 속성을 참조하는 것을 좋아한다.

+0

이것은 효과가 있습니다. 원래 예제에서 ChrW()를 인용하는 것은 실수였습니다. – spike

+1

전적으로 동의합니다 - 명백 함이 좋습니다. 좋은 해결책! +1 – aevanko