誰かが助けてくれるのだろうか。2つのセル範囲の色を比較する[VBA]
私はCS教師であり、私の現在のY10スキームの一部として、イメージがどのようにバイナリで表現されているかを見ています。私は提供されたバイナリコードに基づいていくつかのピクセルアートを再現するようにユーザーを促すファイルを作成しました。
しかし、今ここで私は完全に固執しています。私は、ユーザーが最終的な結果と一致するかどうかを確認できるマクロを作成しようとしています。私は2つの色を比較する方法を理解していますが、私が持っている広い範囲で動作するようにすることは、それが落ちるところです。 私がこれまで持っているコードは次のとおりです。
Function Inc(ByRef i As Long)
i = i + 1
End Function
Sub CompareCellColors()
Dim Rng1 As Range
Set Rng1 = Range("C1:O19")
Dim Rng2 As Range
Set Rng2 = Range("AC1:AO19")
Dim x As Long
x = 0
For Each c1 In Rng1
For Each c2 In Rng2
If c1.Interior.ColorIndex = c2.Interior.ColorIndex Then
Inc x
End If
Next c2
Next c1
If x = 247 Then
Range("A3").Value = True
Else
Range("A3").Value = False
End If
End Sub
私はこの問題を回避する(それらが一致する場合は、変数をインクリメント)で私の試みを含めましたが、これはどちらか動作しません。
プログラムはコンパイルされて実行されますが、2つのセル範囲を正確に比較することはできません。 x増分の現在の結果は61009ですが、選択には247セルしかありません。
2つのループのネストを解除し、行列インデックスを使用する必要があります。あなたのコードは現在、 'Rng1'のすべてのセルと' Rng2'のすべてのセルを比較します。 – Comintern