Excel错误地显示度数符号

Sar*_*wan 2 excel vba excel-vba

我有一个允许用户更改温度单位的工作表,有一个包含"°C"和"°F"的下拉框,然后我使用VBA来完成剩下的工作.

问题是,我有这个代码:

Dim UnitString As String
Set UnitRange = Worksheets("Units of Measure").Cells
UnitString = UnitRange(1, 1)
MsgBox UnitString
Run Code Online (Sandbox Code Playgroud)

它给了我"?C"或"?F"

下一个问题,当我打电话:

UnitRange(1, 1) = "° C"
Run Code Online (Sandbox Code Playgroud)

我在那个牢房里得到了"ฐC".(ฐ是泰国人物之一)

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

问候,萨伦

Gar*_*ent 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
Run Code Online (Sandbox Code Playgroud)