比较两个单元格区域的颜色
想知道是否有人可以帮忙。
我是CS老师,作为当前Y10scheme的一部分,我们正在研究如何用二进制表示图像。 我创build了一个文件,鼓励用户根据提供的二进制代码重新创build一些像素艺术。
但是 – 现在这是我完全卡住的地方 – 我试图创build一个macros,允许用户检查他们的颜色是否符合最终结果。 我知道如何比较这两种颜色,但是让它在大范围内工作的地方就是它的下落。 我到目前为止的代码是:
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
我已经包括了我的尝试在一个解决方法(增加一个variables,如果他们匹配),但这也不起作用。
该程序编译和运行,但不准确地比较两个单元格范围(希望解释是有道理的!)。 x递增的当前结果是61009,但是只有247个单元格。
您将Rng1
每个像素与Rng1
中的每个像素进行Rng2
因为这些循环是嵌套的。 我相信你想要的是在更多的一对一的基础上进行比较。 改为尝试
For a = 1 to 19 'rows for b = 3 to 13 'columns If Cells(a, b).Interior.ColorIndex = Cells(a, b + 29).Interior.ColorIndex Then Inc x End If Next b Next a