首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除Excel单元格的前导空格和尾随空格

问删除Excel单元格的前导空格和尾随空格
EN

Stack Overflow用户
提问于 2016-06-13 23:40:29
回答 3查看 3.2K关注 0票数 1

我有一个Excel电子表格,其中包含几个具有前导或尾随空格的单元格(包括空格、不间断空格、回车符和换行符)。我想删除这些空格。我的谷歌搜索表明,这只能用VBA来完成。VBA Trim函数不会删除所有类型的空格,也可以从单元格的中间删除。VBA的Trim函数的MSDN页面引用了.NET的String.Trim方法,这正是我想要的。但是,我不确定如何像第一个链接所建议的那样从VBA调用String.Trim。如何从Excel VBA调用String.Trim方法?

编辑:为了清楚起见,我希望将空格(包括回车和换行符)保留在单元格的中间。我只想删除单元格开头和结尾的字符。

EN

回答 3

Stack Overflow用户

发布于 2016-06-14 00:22:09

如果您希望在Excel中执行此操作,而不必通过VBA,请使用:

代码语言:javascript
复制
=TRIM(CLEAN(A1))

假设您想要清除单元A1。从我的测试中,这将删除所有的制表符、回车符和换行符,但也会将多个空格转换为单个空格,因此它可能不是您想要的。

票数 1
EN

Stack Overflow用户

发布于 2017-09-13 19:23:08

我也有同样的问题,但我发现这段代码和它工作得很好。它删除列名中的前导空格和尾随空格。

代码语言:javascript
复制
foreach (DataColumn c in d.Columns)
                c.ColumnName = c.ColumnName.Trim();

干杯

票数 1
EN

Stack Overflow用户

发布于 2020-06-22 21:31:38

我希望你的问题现在已经解决了。我仍然会把我的答案放在那里,给那些可能仍然需要的人。我也是这样做的,只是在广泛的研究之后才发现这一点,因为大多数答案都使用了循环,这是我通常想要不惜一切代价避免的;至少是显式的循环!

因此,对我来说,这些简单的代码行就像是一种魔力:

代码语言:javascript
复制
Dim Rng As Range
Set Rng = Range("A1").CurrentRegion 'Select the Range based on your criteria, preferably smaller
Rng.Value = Application.Trim(Rng)

希望它能有所帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37793920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档