简化偏移值的范围

我的脚本是完整的,但有一部分我想“调整”和简化。 如果其中一个单元格满足特定的条件,我有三个值将被删除。 我将相同的WITH语句应用于所有三个单元格。 修剪它以select所有三个值将是很好的,所以我可以减less它只有一个循环。

为了简单,我只包括脚本的重要部分,所以忽略缺less的定义。

For Each rngCell In NetworkPatchRange If InStr(rngCell.Value, "-") > 0 Then rngCell.Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With rngCell.Offset(0, -1).Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With rngCell.Offset(0, -2).Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With End If Next 

避免在Excel VBAmacros中使用select 。

 For Each rngCell In NetworkPatchRange If cbool(InStr(1, rngCell.Value, chr(45))) Then rngCell.offset(0, -2).resize(1, 3).interior.Pattern = xlNone End If Next 

用于删除突出显示的loggingmacros代码执行比实际所需更多的操作。 只需将.interior.pattern设置为xlNone。

请谨记,手动删除单元格的“填充”(又名突出显示)不适用于使用条件格式规则突出显示的单元格。