我正在尝试从特定列中的单元格中删除所有空格。我发现了这个问题,它有一个答案:How to remove spaces from an entire Excel column using VBA?
这就是我调整答案的方式:
For i = 2 To n
Cells(i, 17).Value = Replace(Cells(i, 17).Value, " ", "")
Next i
它确实消除了空格,但也消除了逗号。例如“424、426”更改为“424426”。
我确实一次运行我的代码,以确保问题确实发生在那个特定的应对 block 中。
我应该如何更改代码以确保仅消除空格?
最佳答案
我认为您正在尝试删除前导和尾随空格。为此,您不需要循环。这是一个单行示例
Sub Sample()
[A1:A20] = [INDEX(TRIM(A1:A20),)]
End Sub
解释见This邮政
编辑
要删除所有空格,请将您的代码更改为
For i = 2 To n
If InStr(1, Cells(i, 17).Value, ",") Then
Cells(i, 17).Value = Replace("'" & Cells(i, 17).Value, " ", "")
Else
Cells(i, 17).Value = Replace(Cells(i, 17).Value, " ", "")
End If
Next i
或将整列的格式更改为
Text
在您进行更换之前。关于vba - 从单元格中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44561960/