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)
我面临以下挑战:
在工作表中,我需要通过 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)