vba - 从单元格中删除空格

标签 vba excel

我正在尝试从特定列中的单元格中删除所有空格。我发现了这个问题,它有一个答案: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邮政

enter image description here

编辑

要删除所有空格,请将您的代码更改为
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在您进行更换之前。

enter image description here

关于vba - 从单元格中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44561960/

相关文章:

vba - Excel VBA 使用循环将员工分配给任务

xml - 从 Excel VBA 创建 xml 属性

python - 如何在Python列表中逐行获取Excel数据

excel - 双击Excel中的一个单元格,在用户窗体上打开该行的源文件

vba - 如何实现灵活的对象组合?

excel - VBA Excel选择并删除具有相同ID的所有形状并删除

excel - 从工作表 1 和工作表 2 中匹配或查找值

VBA - 如何从网站下载.xls并将数据放入Excel文件

excel - VBA:用上面的值加一填充空白单元格

excel - 如何获取字母表中的第n个字母