VBA文本框隐身字符

时间:2016-09-14 18:36:36

标签: excel-vba vba excel

当我将电子表格中的文本放入表单文本框时,文本会有一个额外的字符。

我将文本框的内容放在电子表格单元格中原始文本旁边的单元格中。当我在原始文本和文本框文本上执行LEN()功能时,文本框文本显示为25,原始文本为24。

我的问题是为什么文字不同。我无法弄清楚这个多余的角色是什么 该文字是由CTLLF分隔的2行。我也尝试过使用Trim()函数。

有没有人想到这个?如果表单文本框添加了一些不可见的字符,我如何比较两个文本以使它们匹配?

第一行下面是A和B单元格的LEN()函数 第二行是电子表格原始单元格中的值,第二行是相同的值,但放在表单上的文本框中,然后输出回电子表格。

enter image description here

3 个答案:

答案 0 :(得分:1)

Excel在单元格中使用vbLf作为line break charactervbCr字符不用于换行符,will可以显示为方框(较旧的Excel)或空格(较新的Excel)。

如果要将文本放入Excel单元格中,请先将vbCrLf替换为vbLf

答案 1 :(得分:0)

要查看大多数不可打印的字符,请将字体更改为“终端”并取消切换Wrap Text

要查找字符代码,可以使用CODE函数:

= Code( Mid( A2, 6, 1 ) )

要删除不可打印的ASCII字符,您可以使用CLEAN功能:

= Clean( A2 )

仅使用空格替换换行符:

= SUBSTITUTE( A2, CHAR( 10 ), " " )

Remove spaces and nonprinting characters from text

答案 2 :(得分:0)

好的,我已经解决了这个问题。 我正在使用工作表函数 WorksheetFunction.Clean() 这有效,我不需要做任何其他事情。 感谢您的投入。 :)