1

特定のセルが黄色で強調表示された監視範囲があります。これらの各セルには、対応する参照値がすべて 1 つの列内にあります。

red対応する参照セルの値がターゲット セルの値と一致する、ターゲット範囲内のすべてのセルを強調表示したいと考えています。

思いついたコードは次のとおりですが、修正できないコンパイルエラーのようなものがあります。どうやら、監視範囲を「複数の範囲」で構成することはできません。

Sub Highlight_pairAB()
Dim WatchRange As Range, Target As Range, cell As Range, ref As Range
Set Target = Range("Y3:Y274", "AC3:AC274") 'change column ref as required
Set WatchRange = Range("B3:B274", "E3:E274", "H3:H274", "K3:K274")
Set RefRange = Range("A3:A102")

For Each cell In Target.Cells
    If Application.WorksheetFunction.CountIf(WatchRange, cell.Value) > 0 Then
        cell.Interior.ColorIndex = 3
        For Each watchCell In WatchRange.Cells
            If watchCell.Interior.ColorIndex = 6 And RefRange.Value = Target.Value Then: targetCell.Interior.ColorIndex = 3
        Next watchCell
    Else: cell.Interior.ColorIndex = xlNone
    End If
Next cell
End Sub
4

2 に答える 2

1

あなたが試すことができる別のことは、交換することです

For Each watchCell In WatchRange.Cells

For Each area In WatchRange.Areas
     For Each watchCell In area.Cells

編集:一致させるには、2つの「次へ」ステートメントも必要です。だから必ず作ってください

    Next watchCell
Next area
于 2009-10-14T22:00:37.113 に答える
1

これが役立つ場合に備えて: 変更:

Set WatchRange = Range("B3:B274", "E3:E274", "H3:H274", "K3:K274") 

に:

Set WatchRange = Range("B3:B274,E3:E274,H3:H274,K3:K274")
于 2009-10-14T21:50:49.093 に答える