我有一个Excel电子表格,其中包含几个具有前导或尾随空格的单元格(包括空格、不间断空格、回车符和换行符)。我想删除这些空格。我的谷歌搜索表明,这只能用VBA来完成。VBA Trim函数不会删除所有类型的空格,也可以从单元格的中间删除。VBA的Trim函数的MSDN页面引用了.NET的String.Trim方法,这正是我想要的。但是,我不确定如何像第一个链接所建议的那样从VBA调用String.Trim。如何从Excel VBA调用String.Trim方法?
编辑:为了清楚起见,我希望将空格(包括回车和换行符)保留在单元格的中间。我只想删除单元格开头和结尾的字符。
发布于 2016-06-14 00:22:09
如果您希望在Excel中执行此操作,而不必通过VBA,请使用:
=TRIM(CLEAN(A1))假设您想要清除单元A1。从我的测试中,这将删除所有的制表符、回车符和换行符,但也会将多个空格转换为单个空格,因此它可能不是您想要的。
发布于 2017-09-13 19:23:08
我也有同样的问题,但我发现这段代码和它工作得很好。它删除列名中的前导空格和尾随空格。
foreach (DataColumn c in d.Columns)
c.ColumnName = c.ColumnName.Trim();干杯
发布于 2020-06-22 21:31:38
我希望你的问题现在已经解决了。我仍然会把我的答案放在那里,给那些可能仍然需要的人。我也是这样做的,只是在广泛的研究之后才发现这一点,因为大多数答案都使用了循环,这是我通常想要不惜一切代价避免的;至少是显式的循环!
因此,对我来说,这些简单的代码行就像是一种魔力:
Dim Rng As Range
Set Rng = Range("A1").CurrentRegion 'Select the Range based on your criteria, preferably smaller
Rng.Value = Application.Trim(Rng)希望它能有所帮助:)
https://stackoverflow.com/questions/37793920
复制相似问题