1
我创建了一个VBA,它将比较两张相同的Excel文件。如果工作表A中的数据不准确,它会将该行的颜色更改为红色,如果我的颜色发生更改,我也应用了过滤器。VBA - 用于比较两列的Excel
现在的问题是它没有以适当的方式工作。就像我的数据相同,那么它也是应用过滤器。
见我下面
Sub Validate_Metadata()
Dim myRng As Range
Dim lastCell As Long
Dim flag As Boolean
'Get the last row
Dim lastRow As Integer
lastRow = ActiveSheet.UsedRange.Rows.Count
'Debug.Print "Last Row is " & lastRow
Dim c As Range
Dim d As Range
Application.ScreenUpdating = False
For Each c In Worksheets("Sheet1").Range("A2:A" & lastRow).Cells
For Each d In Worksheets("Sheet2").Range("A2:A" & lastRow).Cells
c.Interior.Color = vbRed
flag = False
If (InStr(1, d, c, 1) > 0) Then
c.Interior.Color = vbWhite
Exit For
End If
Next
Next
If (flag <> True) Then
ActiveSheet.Range("A1:A" & lastRow).AutoFilter Field:=1, Criteria1:=RGB(255, 0 _
, 0), Operator:=xlFilterCellColor
End If
Application.ScreenUpdating = True
End Sub
感谢