excel - 使用 VBA 将函数/代码应用于工作表中的每一行
问题描述
我有一个宏,它将条件格式应用于突出显示特定值的行我想知道是否有办法将它应用于多行(我希望它从第 18-79 行运行)正如您从下面的代码中看到的那样,该功能必须单独调整每一行(我已经完成了 3 个)。我想知道是否有更简单的方法来应用它而不是重复并调整我需要的所有行。
Sub Highlight()
'
' Highlight good values
Application.ScreenUpdating = False
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
Rows("18:18").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="=$C$18", Formula2:="=$D$18"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16752384
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13561798
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Rows("19:19").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="=$C$19", Formula2:="=$D$19"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16752384
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13561798
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Rows("20:20").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="=$C$20", Formula2:="=$D$20"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16752384
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13561798
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Next ws
Application.ScreenUpdating = True
End Sub
解决方案
更改范围以包含所有内容:
With ActiveSheet.Rows("18:79")
.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="=$C18", Formula2:="=$D18"
.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Font
.Color = -16752384
.TintAndShade = 0
End With
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13561798
.TintAndShade = 0
End With
.FormatConditions(1).StopIfTrue = False
End With
推荐阅读
- c# - 如何动态解析数据列表并在树视图中显示结果
- algorithm - 如何阅读这个最长递增的子序列递归关系
- r - 如何修复 R markdown 中的 Kable 表错误?
- javascript - Vue v-for 循环“项目”未定义
- python - 你如何列出 Python 中的所有警告过滤器?
- dataframe - 数据框所有列的转换函数
- google-sheets - Col BY 在 Google 表格查询中导致解析错误
- node.js - 如何从 pubsub.schedule 调用 http 函数
- python - 如何修改 Scipy 的 SVM 分类规则?
- python - 递归期间变量变化的状态