2014-02-14 81 views
2

我有一个工作表,它允许用户更改温度单位,有一个包含“°C”和“°F”的下拉框,然后使用VBA完成其余工作。Excel显示度数符号不正确

的问题是,我有这样的代码:

Dim UnitString As String 
Set UnitRange = Worksheets("Units of Measure").Cells 
UnitString = UnitRange(1, 1) 
MsgBox UnitString 

,这让我 “C” 或

下一个问题,当我叫 “F?”:

UnitRange(1, 1) = "° C" 

我在那个单元里得到了“C”。 (ฐ是泰国人物之一)

这些问题打破了我的表的逻辑,任何人都可以帮助我吗?

问候, Sarun

+0

您正在使用alt + 0176输入此符号,是的? –

+0

是的,我查过了。 –

+0

只需确认输入法即可。您的工作表设置了哪种语言? –

回答

6

您可能需要您的VBA程序中使用Unicode。例如,下面是一个将单元格格式化为摄氏度的简单例程:

Sub centigrade() 
    Const g = "General" 
    dq = Chr(34) 
    cent = " " & ChrW(8451) 
    s = g & dq & cent & dq 
    Selection.NumberFormat = s 
    Selection.Font.Name = "Arial Unicode MS" 
End Sub