我有一份很棒的Excel报告,我正在努力让技术人员的生活更轻松。
我有单元格,如果一个数字不在另一个单元格的10%之内,那么该单元格将以红色突出显示。我的问题是我不希望我的客户在我的报告中看到红色突出显示。我必须将我的Excel报告转换为PDF。
是否有一个宏代码只能取出突出显示RED的条件格式? 我的报告中有其他条件格式,这就是为什么我不能使用删除所有条件格式的宏代码。
此外,是否有一个宏代码可以让它回到RED?
对此有任何帮助表示赞赏。感谢
答案 0 :(得分:1)
答案是肯定的。首先,您需要确定您正在处理的范围 然后检查您的范围是否有格式,如果是则删除,否则应用(如切换) 下面的代码就是这样。改变我评论和改编的线条。 HTH。
Sub ColorUnColor()
Dim myformat As String
Dim cfr As Range
myformat = "=A1<(0.1*B1)" '~~> change to suit
With Sheet2 '~~> change to suit
Set cfr = .Range("D1:D10") '~~> change to suit
If cfr.FormatConditions.Count = 0 Then
.Range("A1").FormatConditions.Add xlExpression, , myformat
With .Range("A1").FormatConditions(1)
.Interior.Color = RGB(255, 0, 0)
.ModifyAppliesToRange cfr
End With
Else
cfr.FormatConditions.Delete
End If
End With
End Sub
<强>结果:强>
重要提示:您可以在任何范围内指定条件格式,但它将应用于您在here中讨论的 ModifyAppliedToRange 中设置的内容。< / p>
答案 1 :(得分:0)
您可以使用此选项清除工作表上红色的任何单元格(255)。不确定这是否正是您所需要的。
Sub testes()
Dim SrchRng As Range
Set SrchRng = ActiveSheet.UsedRange
For Each Source In SrchRng
If Source.Interior.Color = 255 Then
Source.Interior.Color = xlNone
End If
Next Source
End Sub
至于回到红色你不能只运行你已经拥有的宏吗?
答案 2 :(得分:0)
试试这个:
Selection.FormatConditions.Delete