在VBA中剥离空间时的未知空格字符

时间:2015-01-30 14:42:51

标签: vba ascii

我正在编写一个简单的替换脚本,使用内置的VBA编辑器从EXCEL电子表格中删除所有空格。对于已经复制并粘贴到空白电子表格中的数据,代码看起来运行正常。但是我发现还剩下一些空间。在将其中一个复制到Word并显示格式化字符和符号时,我获得了在我的图像的顶行上看到的字符。第二行是顶行的副本,删除了这些字符并输入了一个正常空格来显示差异。有没有人遇到这个角色,如果是这样的话是什么?

enter image description here

由于

哈利

2 个答案:

答案 0 :(得分:0)

有许多 unicode 空格字符,以确切了解它是什么

uchar = ascw(mid$(the_string, character_position, 1))

然后替换它:

the_string = replace$(the_string, chrw$(uchar), "")

答案 1 :(得分:0)

小圆可以是non breaking space,ascii代码是160 (在Word中,您可以使用 CTRL Shift Space 插入它。) 在VBA中,您可以尝试s = Replace(s, Chr(160), " ")