如何在数据库中显示Excel中的°C符号?

我正在使用一个Excel文件,其中一个单元格包含°C符号与其他string(Ex .. -40°C)

而我正在尝试使用该单元格的值

Dim strIn As String strIn = Range("B2").Text 

所有工作正常和strIn有一个值“-40°C”,但一旦我改变我的地区设置如下..

区域设置

它开始显示strIn值为“-40?c”

调试模式

0°符号随着?

预先感谢任何帮助..利约何塞。

这是VBA IDE中的限制。 它只能显示总共255个不同的字符(其中一些是不可打印的)。 这将是标准Ansii的前128个字符,其余的将由您的区域设置中的代码决定。

VBA显示? 因为它不能显示°(因为°不在您的设置的字符代码列表中)。 当你浏览其他的代码时,它应该像你所期望的那样执行,并且正确地读取你的表单。

如果你想在VBA中使用°,你将需要使用它的字符代码。 从我的testing中,至less可以在我的电脑上通过Chrw(176)生成它(是的,我确实已经将我的区域设置更改为泰文)。 要检查代码,你可以通过循环运行它们。 现在,正如我之前所说,IDE将显示?,但Excel将显示°。

你可以通过在你的代码上运行这个testing来确认:

 debug.print Instr(strIn, "?") 'Should be 0 debug.print Instr(strIn, chrw(176)) 'Should be 4 

一个快速的解决办法是取代“?” 符号在string中。 像一个声明

 strIn = Replace(strIn, "?", "°") 

应该解决你的问题

假设你的符号永远不会影响值, val应该给你你的数据。

示例数据:

 文本val()
 40°C 40
 40?C 40
 40%C 40
 40C 40