【发布时间】:2015-11-21 03:46:18
【问题描述】:
我每天早上都会导出一个文件。我编写了一个宏来删除不必要的列,并从文件中导出的电话号码中删除连字符。我的最后一步是突出显示电话号码与我的“请勿呼叫”号码列表中的一个匹配的行。
底部应突出显示工作表中 C(n) 等于以下任何值(电话号码...)的行
Sub Annihilation()
'
' Annihilation Macro
' Highlight bad numbers, formats worksheet.
'
'
Range("B:B,D:D,E:E,G:G").Select
Range("G1").Activate
Selection.Delete Shift:=xlToLeft
Range("C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Replace What:="-", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Columns("C:C").EntireColumn.AutoFit
Range("C2").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=OR($C2= 2025211493, $C2=2063919340, $C2=2096568626, $C2=2184943359, $C2=2535203630, $C2=2533306498, $C2=4055763188, $C2=4057014173, $C2=4235861076, $C2=5019450123, $C2=5036781060, $C2=5036071088, $C2=5094532476, $C2=5138697827, $C2=5175070612, $C2=5409662174, $C2=5592714006, $C2=5613334173, $C2=5626224977, $C2=6152069720, $C2=6194611018, $C2=6206408997, $C2=7086919068, $C2=7028252742, $C2=7173546777, $C2=7609497400, $C2=7634446852, $C2=7702050218, $C2=8002263696, $C2=8017841482, $C2=8015756500, $C2=8063641273, $C2=8179243829, $C2=8436654968, $C2=8476561100, $C2=8608150728, $C2=8602171111, $C2=8669710959, $C2=8883420784, $C2=9197901354, $C2=9199349948, $C2=9519245300, $C2=9703020157)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.399945066682943
End With
Selection.FormatConditions(1).StopIfTrue = False
结束子 当我运行它时,行以指定的颜色突出显示,但所选行不是包含任何这些数字的行。
对此有任何帮助吗?代码不正确吗?
【问题讨论】:
-
你能发布所有关于格式的代码吗?看来你错过了一个“结束”。多看看相关代码就好了。
-
@MacroMarc,请参阅更新后的原始帖子。谢谢!
标签: excel vba conditional-formatting