VBA:Trim 个单元格,如果范围内的值为

VBA: Trim Cells If Value in Range is

我面临以下挑战:

在工作表中,我需要通过 trim 功能删除特定单元格范围内不需要的空白。这已经适用于以下代码:

Sub remove_blanks()

Dim rC As Range

Application.ScreenUpdating = False

For Each rC In ActiveSheet.Range("C1:C5000")
    If Not (rC.HasFormula) Then rC = Trim(rC)
Next

Application.ScreenUpdating = True

End Sub

现在我需要执行一个检查,只有当单元格在不同的列中被标记为 "YES" 时,上面的函数才应该起作用。

例如 如果 A 列中的单元格值为 "YES",则只有上述函数才适用于 C 列中的同一单元格。

亲切的问候, 斯特凡

只需修改你的行:

If Not (rC.HasFormula) Then rC = Trim(rC)

至:

If Not (rC.HasFormula) And Range("A" & rC.Row).Value = "YES" Then rC = Trim(rC)

这也会检查与 rC 位于同一行的 "A" 列中的值是否等于 "YES"

使用 .Offset 的替代方法

If Not rC.HasFormula And rC.Offset(0, [-2]).Value = "YES" Then rC = Trim(rC)