我从一个网站上复制了一些数据到工作表中,注意到一些单元格中除了预期值外,还包含一个尾部的空格。
我想删除这些空格,因为它们会给我的代码带来麻烦。我发现一个特定的单元格有这个空格,于是尝试了一下。
Worksheets(2).Range("D17").Value = Trim(Worksheets(2).Range("D17").Value)
然后我又试了一下。
Worksheets(2).Range("D17").Value = WorksheetFunction.Trim(Worksheets(2).Range("D17").Value)
我发现了一个特定的单元格有这个空格,我试了一下:这个空格还在。Replace
函数不仅删除了前导和后导,还删除了字符串中的空格。
Worksheets(2).Range("D17").Value = Replace(Worksheets(2).Range("D17").Value," ","")
我可以检查最后一个字符是否是空格,然后在每个单元格中删除它,但这似乎不是一个优雅的解决方案,主要问题仍然存在。主要的问题是... Trim
函数不工作?
在花了很长时间在网上搜索后,我发现 此处 还有另一个空格字符,即 Chr(160)
又不知为何 Trim
函数忽略它。所以在我的情况下,解决方案是 首先 替换这些 "不同 "的空间 然后 修剪值。
Worksheets(2).Range("D17").Value = Replace(Worksheets(2).Range("D17").Value, Chr(160), " ")
Worksheets(2).Range("D17").Value = Trim(Worksheets(2).Range("D17").Value)
如果你遇到类似的问题,并遇到不同的Chr(160)
未知 "的字符,你可以通过隔离这个字符并使用 Asc
职能。