简化偏移值的范围
Simplify range of offset values
我的脚本可以完整运行,但我想 "tone" 简化其中的一部分。我有三个值,如果其中一个单元格满足特定条件,我将从中删除突出显示。我将相同的 WITH 语句应用于所有三个单元格。最好将它 trim 变为 select 所有三个值,这样我就可以将它减少到只有一个循环。
为了简单起见,我只包含脚本的重要部分,因此请忽略缺少的定义。
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
Avoid using Select in Excel VBA macros.
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
录制的用于删除突出显示的宏代码执行的操作比实际需要的要多。只需将 .interior.Pattern 设置为 xlNone.
请记住,手动删除单元格的 'Fill'(也称为突出显示)不适用于已使用条件格式规则突出显示的单元格。
我的脚本可以完整运行,但我想 "tone" 简化其中的一部分。我有三个值,如果其中一个单元格满足特定条件,我将从中删除突出显示。我将相同的 WITH 语句应用于所有三个单元格。最好将它 trim 变为 select 所有三个值,这样我就可以将它减少到只有一个循环。
为了简单起见,我只包含脚本的重要部分,因此请忽略缺少的定义。
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
Avoid using Select in Excel VBA macros.
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
录制的用于删除突出显示的宏代码执行的操作比实际需要的要多。只需将 .interior.Pattern 设置为 xlNone.
请记住,手动删除单元格的 'Fill'(也称为突出显示)不适用于已使用条件格式规则突出显示的单元格。