【发布时间】:2016-10-14 02:50:00
【问题描述】:
我有一个 Excel 电子表格,其中包含多个具有前导或尾随空格(包括空格、不间断空格、回车和换行)的单元格。我想删除这些空格。我的谷歌搜索表明这只能用 VBA 完成。 VBA Trim 函数不会删除所有类型的空格,也可能会从单元格的中间删除。 VBA 的 Trim 函数的 MSDN 页面引用了 .NET 的 String.Trim 方法,这正是我想要的。但是,我不确定如何按照第一个链接的建议从 VBA 调用 String.Trim。如何从 Excel VBA 调用 String.Trim 方法?
编辑:澄清一下,我想在单元格中间保留空格(包括回车和换行符)。我只想删除单元格开头和结尾的字符。
【问题讨论】:
-
Cells(1, 1) = Trim(" test test test ") 有效...但是啊哈,您还需要回车和换行符...我不认为 trim 在VBA。因此,您只需对 chr(10) 和 chr(13) 使用 replace 命令,例如 Cells(1, 1) = Replace(Replace(Trim(" test " + Chr(10) + Chr(13) + " test test "), Chr(10), ""), Chr(13), "")
-
另外,请参阅stackoverflow.com/questions/2964769/… 了解如何删除所有非打印字符,或support.office.com/en-us/article/… 了解微软对此的看法,(请参阅 CLEAN 工作表功能)
-
尝试添加“Microsoft VBScript 正则表达式 5.5”参考并使用 RegEx 清理您的文本。 ?