比较不同工作表上的相同范围
Compare the same range on different worksheets
我有一个包含多个 sheet 的工作簿(Sheet 1、2...等)和一个“大师”Sheet。我需要 select 从列 A:C 到它遇到具有值 (tva) 的行(包括那些行)的范围。我想比较从 Master 到其他 sheet 的范围,并突出显示差异。
Sample image 例如 Master sheet 在 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
我有一个包含多个 sheet 的工作簿(Sheet 1、2...等)和一个“大师”Sheet。我需要 select 从列 A:C 到它遇到具有值 (tva) 的行(包括那些行)的范围。我想比较从 Master 到其他 sheet 的范围,并突出显示差异。 Sample image 例如 Master sheet 在 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