【发布时间】:2023-03-07 04:04:01
【问题描述】:
我正在尝试清理和格式化从会计系统获得的一些数据集,并且我已经能够创建 VBA 代码以在特定列范围内使用 TRIM 或 CLEAN 函数。
问题是我需要在字符串中保留空格(可以是 2、3 或更多空格)但仍然删除前导/尾随空格,并且提到的函数将内部空格减少到 1。这不起作用对我来说,因为数据被用作在流程的进一步步骤中匹配其他信息的关键。请记住,前导/尾随空格可能是空格键的结果,任何其他显示为空格甚至包含换行符的字符,所以再一次,我希望所有这些删除但内部空格。字符串可以由字母数字字符组成。
我在 Private Sub 中使用它(代码是通过单击放置在工作表中的按钮来执行的)。
Dim rng1a As Range
Dim Area1a As Range
Set rng1a = Range("F2:F35001")
For Each Area1a In rng1a.Areas
Area1a.NumberFormat = "@"
Area1a.Value = Evaluate("IF(ROW(" & Area1a.Address & "),CLEAN(TRIM(" & Area1a.Address & ")))")
Next Area1a
示例(在 F2:F35001 范围内):
Original: Sample Text for Review. *(there are blanks after the string)
Result:Sample Text for Review.
Desired:Sample Text for Review.
我进行了几周的研究,但未能找到一种解决方案,既能保持内部空白“原样”,又能尽可能避免论坛中出现重复问题。提前感谢您的帮助。
【问题讨论】:
-
欢迎来到本站!查看tour 和how-to-ask page 了解更多关于提出问题以吸引高质量答案的信息。您可以edit your question 提供更多信息。
-
您能否更好地说明您拥有的数据、您当前使用的代码发生了什么以及您希望发生什么?像`data 01`应该是
data 01?如果空格是一个问题,请用更明显的字符替换,如!