在Excel 2003中将unicode分数字符(低俗分数)转换为小数

我试图将以下文本转换为Excel 2003中的十进制数字:

“93⅛”

输出应该是:93.125

我已经通过使用VBA中的replacefunction来获得这个function:¼,½,¾。例如,这可以工作:

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

但是,VBA编辑器不支持⅛和系列字符。 他们显示为?? 相反,我试图直接replaceunicode的值:

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

但是这不起作用。

有没有一种很好的方法将这些string转换为我可以使用的数字?

正确的语法是:

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

你的例子是说:用1/8replace由空格,&符号,空格等组成的string。 显然,这不是你想要做的!

我真的推荐:

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

以规避Excel自动更换分数。 我只是不喜欢依靠那种自动的东西。 为什么不把它作为一个十进制数直接写出来呢? 另外,我喜欢显式引用单元格的.Value属性,而不是依赖它作为默认属性。