2014-02-14 3 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

Вы можете захотеть использовать Unicode в ваших VBA процедур. Например, вот простая процедура, которая форматирует ячейки до градусов Цельсия:

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 
Смежные вопросы