如何解决比较不同工作表上的相同范围
我有一个包含多张工作表(工作表 1、2...等)和一个“主”工作表的工作簿。我需要从 A:C 列中选择一个范围,直到它遇到具有值 (tva) 的行(包括那些行)。我想比较从 Master 到其他工作表的范围,并突出差异。 Sample image 例如主表在 A3 中的值是“m”。
这是我目前所拥有的。我在这方面很新,所以任何建议都值得赞赏:)
Sub comp()
Dim ws As Worksheet
Dim rngCell As Range
For Each ws In ThisWorkbook.Worksheets
ws.Activate
rngCell = Columns("A:C").Resize(Columns("A:C").Find(What:="tva",After:=Range("A1"),LookIn:=xlValues,SearchDirection:=xlPrevIoUs).Row)
rngCell.Select
For Each rngCell In ws.Range
If Not rngCell = Worksheets("Master").Cells(rngCell.Row,rngCell.Column) Then
rngCell.Interior.Color = vbYellow
End If
Next ws
End Sub
解决方法
你可以试试下面的代码,虽然它没有覆盖其他列,但是小调整只需要检查到 C 列(第 3 列):
Sub comp()
Dim ws As Worksheet
Dim valuerow As Long,irow As Long
For Each ws In ThisWorkbook.Worksheets
ws.Activate
valuerow = Cells.Find(What:="tva",After:=Range("A1"),LookIn:=xlValues,SearchDirection:=xlPrevious).Row
For irow = 1 To valuerow
If ws.Cells(irow,1).Value <> Worksheets("Master").Cells(irow,1).Value Then
ws.Cells(irow,1).Interior.Color = vbYellow
End If
If ws.Cells(irow,2).Value <> Worksheets("Master").Cells(irow,2).Value Then
ws.Cells(irow,2).Interior.Color = vbYellow
End If
Next
Next
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。