excel - 通过条件格式每隔 n 行比较两个单元格
问题描述
我正在寻找创建条件格式规则来比较两组文本以查看它们是否匹配,如果不匹配,则将第二个条目突出显示为红色。内容是在第二行手动输入的,中间有 3 行,这会产生问题。我只是将 Text2 与 Text1、Text 4 与 Text 3 等进行比较。
文本1
文本2
3 行
文本3
文本4
(模式重复 500 个条目)
我还没有找到用一条规则来做到这一点的方法(如果你知道这会很棒!)所以我想使用宏为每个比较创建一个新规则并重复所需的次数。
Range("J2").Select
Dim i As Integer
For i = 1 To 250
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="J1=J2"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
ActiveCell.Offset(5, 0).Select
Next i
结束子
主要问题是中间的行,所以我无法创建单个条件格式公式并复制下来。我的 VBA 代码的问题是 Formula1 是硬编码的。它应该比较 J1=J2,然后 J6=7,等等。
有谁知道一个好的解决方案?
谢谢。
解决方案
我想我想通了。我设法找到一种将 VBA 代码合并到 Formula1 中的方法,并使用整数来更改每个选择的值。我的实际数据从 F5 开始,因此我将其用作初始单元格选择。
Sub CondForm_Col_F()
'
' TestOne Macro
'
Dim i As Integer
Dim n As Integer
Dim m As Integer
n = 4
m = 5
Range("F5").Select
For i = 1 To 147
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=F" & m & "<>F" & n & ""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
n = n + 5
m = m + 5
ActiveCell.Offset(5, 0).Select
Next i
End Sub
推荐阅读
- import - javac编译的非必要导入
- php - Actions-On-Google/Dialogflow:在 agentId 的平台响应中找不到 RichResponse 或 SystemIntent
- r - 在函数中生成表达式并在 R 中返回
- python-3.3 - 尝试在代码中使用 xgoogle 库时出错
- android - 使用麦克风时,如何防止 Android 中的 Chrome 将我的音频标签下混为单声道?
- php - Card Connect 从响应头中获取 X-CardConnect-SessionKey
- qt - 在 Flickable 中获取缩放的 QML 项目的左上角位置
- c# - 将 DataTable 序列化为 GeoJSON 对象?
- c++ - 未定义与已删除与未声明函数
- reactjs - React 与 React-Router 在 localhost 上工作,但在 cPanel 上部署后无法获取 api 调用