我设置一个宏来查找两行之间的差异,然后突出显示它们。我希望宏循环显示接下来的两行并执行相同的操作,然后继续直到没有更多的数据行(此数字一直变化)。因此,下一个选择将是行4:5,它将选择差异并突出显示它们,依此类推。这怎么可能?任何帮助是极大的赞赏。谢谢,
FindVariance Macro
Rows("2:3").Select
Range("A3").Activate
Selection.ColumnDifferences(ActiveCell).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 15773696
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("F16").Select
End Sub
答案 0 :(得分:0)
尝试:
SHGFI_USEFILEATTRIBUTES
答案 1 :(得分:0)
这是我的样本
Option Explicit
Sub FindVariance()
Dim last As Integer, i As Integer, r As Boolean
last = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For i = 2 To last
If i Mod 2 = 0 Then
Rows(i & ":" & i + 1).Select
r = Selection.ColumnDifferences(ActiveCell).Select
If r = True Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 15773696
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End If
Next i
Range("F16").Select
End Sub
答案 2 :(得分:0)
这总是一个好习惯:
使用对象引用并避免使用选择
可能是欺骗和减慢代码
使用范围的完整参考,直到工作簿。
以避免指向不需要的活动工作表或工作簿!
所以这是我的代码
Sub FindVariance()
Dim j As Long
Dim nRows As Long
With ActiveSheet
nRows = .Cells(.Rows.Count, 1).End(xlUp).Row
For j = 2 To nRows Step 2
With .Rows(j).Resize(2).ColumnDifferences(.Cells(j + 1, 1)).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 15773696
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Next j
End With
End Sub
并且还有一些工作要做,以便捕获并正确处理异常(行数不均匀,空行...)