vba - 比较不同工作表上的相同范围
问题描述
我有一个包含多张工作表(表 1、2...等)和“主”表的工作簿。我需要从 A:C 列中选择一个范围,直到它遇到具有值 (tva) 的行(包括那些行)。我想比较从 Master 到其他工作表的范围,并突出显示差异。 示例图像例如,主表具有 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 列(col 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
推荐阅读
- python - 有没有办法获得具有唯一行的矩阵?
- apache - Redmine 的 GSSAPI 身份验证失败
- c# - 为什么我使用 lambda 表达式而不是函数?
- angular - angular ng build 是否也处理库依赖项?
- javascript - 无法登录 Firebase 帐户
- python - 0::/8 范围内的 IPv6 地址分配
- javascript - 拒绝执行内联脚本,因为它违反了以下 CSP,Chrome 扩展
- symfony - 从开发到生产的 Symfony 并发症
- sql - 我的 Create Table 语句中的错误逻辑在哪里?
- sql-server - SSRS - 使用 ReportServer AddEvent,不总是处理订阅