显示Unicode字符:Excel 2010 vs Excel 2013

我需要在Excel电子表格中用纯ASCII代替Unicode字符。 例如把Ståle转换成Stale。

以下在Excel 2013中正常工作。但在Excel 2010中,“?” 被显示而不是有问题的字符。 有任何想法吗? 请注意在Excel 2010中正确检测到非Ascii字符,但不显示字符。

char = Mid(val, i, 1) char_code = AscW(char) If char_code > 127 Then MsgBox ("Problem with " & c.Address & " [" & char_code & "] " & StrConv(ChrW(char_code), vbUnicode)) End If 

我也试过

 MsgBox ("Problem with " & char & " " & ChrW(char_code)) 

它再一次使用Excel 2013,但不是Excel 2010。

更多的研究显示:

Excel 2010的MsgBox控件不支持Unicode字符。 Excel 2013 MsgBox会。

当字符插入工作表单元格时,Unicode非ASCII字符正常工作。 只有使用MsgBox来显示它的问题。 好消息是这个问题在Excel 2013中得到了解决。 关于这个问题的更多信息。