我有以下挑战:
在工作表中,我需要通过修剪功能删除特定范围的单元格中不需要的空白。这已经可以正常使用以下代码:
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
现在我需要实现一个检查,其中上述函数仅在单元格在另一列中标记为“是”时才有效。
E.g。 如果在A列中单元格值为“YES”,则只有上述函数才适用于C列中的同一单元格。
亲切的问候, 斯蒂芬
答案 0 :(得分:1)
只需修改您的行:
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”列中的值是否等于“是”
答案 1 :(得分:0)
使用.Offset的替代方法
If Not rC.HasFormula And rC.Offset(0, [-2]).Value = "YES" Then rC = Trim(rC)