【问题标题】:How can I remove all trailing whitespace from my excel column?如何从我的 excel 列中删除所有尾随空格?
【发布时间】:2018-10-06 09:42:23
【问题描述】:

我使用修剪功能删除了 excel 中名称列列表中的尾随空格。但是,仍然有不少名称在未删除的名称后有额外的空格。

我也尝试创建自己的:

Sub NoSpaces()
    Dim c As Range
    For Each c In Selection.Cells
        c.Value = Replace(c.Value, Chr(160), Chr(32))
    Next
End Sub

但是,我得到了错误:

编译错误:

子或函数未定义

任何帮助将不胜感激。

编辑:按照建议将反射方法更改为“替换”。

【问题讨论】:

  • 在 VBA 中,它不是 Substitute,它是 Replace
  • 我将方法从 Substitute 更改为 Replace,但是仍然没有使用上面编辑的方法删除空格。
  • 你知道空格实际上是什么 ASCII 值吗?它可能是 chr(160) 以外的非显示字符...
  • @xQbert 我没想到。有没有办法让我以某种方式识别它是什么角色?
  • 录制宏-> 高亮空格-> ctrl+C-> ctrl+H-> ctrl+V-> 将“替换为”留空并全部替换。停止录制,根据需要使用宏。

标签: excel whitespace trim removing-whitespace vba


【解决方案1】:

这是两个部分:

首先转换不间断的空格:

Sub ConvertNonBreakingSpaces()
Dim c As Range
    For Each c In Selection.Cells
        c.Value = Replace(c.Value, Chr(160), Chr(32))
    Next
End Sub

然后使用 Trim 函数删除所有正常空格 (chr(32))。

Sub ClearSpaces()
Dim c As Range
    For Each c In Selection.Cells
        c.Value = Trim(c.Value)
    Next
End Sub

【讨论】:

    猜你喜欢
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2018-10-04
    • 1970-01-01
    • 2010-09-14
    • 2015-02-15
    相关资源
    最近更新 更多