我试图:

  • 将双空格替换为单空格。
  • 清洁
  • 修剪

  • 相同的字符串,我使用:
    AmountI = Replace(Application.WorksheetFunction.Clean(Trim(.Cells(j, 9).Value)), "  ", " ")
    

    我想知道这三个VBA函数是否有特定的顺序或者顺序对结果没有任何作用。谢谢你的帮助!

    最佳答案

    vba.trim 不会删除双倍间距,只会删除前导/尾随空格。您需要工作表版本 Application.Trim 或 WorksheetFunction.Trim 来删除中间双空格。

    如果您有三倍间距,则单个 Replace 将为您留下双倍间距。 Application.Trim 不会。

    您不希望 Clean 处理您无论如何都要删除的字符(即空格),因此请先修剪。

    当您没有货币或日期数据时,.Value2(没有货币或日期信息)的处理速度会稍快一些;你有一个字符串,所以使用 .Value2。

    AmountI = Application.Clean(Application.Trim(.Cells(j, 9).Value2))
    

    关于excel - 更换、清洁和修剪 VBA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52984121/

    10-13 08:03