Excel条件格式化VBA循环

我试图通过使用VBA突出显示具有与单元格匹配的值的行来节省一些时间。 我可以得到它在单行上工作,但希望它能够在一个循环上捕获〜97行。

要匹配的值在列U7:U97的单元格A4中,因此突出显示范围(“E7:K7,M7:S7,U7:V7”)

我有的代码是:

Sub Macro1() Range("E7:K7,M7:S7,U7:V7").Select Range("U7").Activate Application.CutCopyMode = False Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$U$7=$A$4" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorLight1 .TintAndShade = 0.249946592608417 End With Selection.FormatConditions(1).StopIfTrue = False End Sub 

这是正确的第7行,我可以剪切和粘贴这个,手动更改下一行的值,但必须有一种方法来在循环中运行此。

我的尝试是在下面,不工作,

 Sub Macro2() For i = 7 To 97 Sheet2.Cells(i, "E").Select Sheet2.Cells(i, "F").Select Sheet2.Cells(i, "G").Select Sheet2.Cells(i, "H").Select Sheet2.Cells(i, "I").Select Sheet2.Cells(i, "J").Select Sheet2.Cells(i, "K").Select Sheet2.Cells(i, "L").Select Sheet2.Cells(i, "U").Activate Application.CutCopyMode = False Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=Sheet2.Cells(i, 21)=$A$4" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorLight1 .TintAndShade = 0.249946592608417 End With Selection.FormatConditions(1).StopIfTrue = False Next i End Sub 

懒惰快速修复(未经testing):

 Sub Macro1() Dim i As Long For i = 7 to 97 Range(Replace("E#:K#,M#:S#,U#:V#","#",i)).Select Range("U" & i).Activate Application.CutCopyMode = False Selection.FormatConditions.Add Type:=xlExpression, _ Formula1:="=$U$" & i & "=$A$4" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorLight1 .TintAndShade = 0.249946592608417 End With Selection.FormatConditions(1).StopIfTrue = False Next i End Sub