我需要在Excel电子表格中将纯ASCII替换为ASCII字符.例如,将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. More on the subject.中修复