【发布时间】:2020-02-15 14:30:18
【问题描述】:
我想替换A1:K1000 范围内单元格中的所有多个空格。因此,如果有 2 个或更多空格,则将它们替换为 1 个空格 " "。
我当前的代码替换了" " (2) 个空格。如何调整它以使用 2 个或更多空间?因此它将处理" "、" "、" " 等案例。
这是我的代码:
Sub RemoveSpaces()
Dim r1 As Range
Set r1 = ActiveSheet.Range("A1:K1000")
r1.Replace _
What:=Space(2), _
Replacement:=" ", _
SearchOrder:=xlByColumns, _
MatchCase:=True
Set r1 = r1.Find(What:=Space(2))
If Not r1 Is Nothing Then
Call RemoveSpaces
End If
End Sub
【问题讨论】:
-
循环单元格并使用
Application.Trim -
查看 dupe 目标中的递归方法。或调整其他答案之一。无论如何,这之前已经尝试过,并且提出了多种解决方案。
-
注意 - 将
Call RemoveSpaces_3更改为RemoveSpaces以递归(Call也已弃用)。 -
看起来像重复,但实际上在提供的链接中,只有特定情况被替换。我已经有这种用两个空格覆盖大小写的代码。但是我需要删除所有多个空格-> 两个及更多。 Scott Craner 的解决方案看起来不错。我得试试