如何突出显示数组中的内容

时间:2016-09-01 15:44:32

标签: excel excel-vba vba

我已经设置了一个数组,因此我可以检查工作表的内容。在我发现不一致的地方,我想强调它们。我"尝试"使用.Interior.colourindex,但这不起作用。我研究了它,这个功能改变了单元格的内部颜色,因为我在数组中我不能这样做。下面是我的代码,其中包含.interior.colourindex(显然不起作用)。如果有人能告诉我另一种突出这些差异的方法,我将不胜感激?

代码:

Sub AcidMap()

gFrow = 1
gLastrow = FindLastRow(gcsAmort)
gLastcolumn = FindLastCol(gcsAmort)

gVmyArray = Sheets(gcsAmort).Range(Sheets(gcsAmort).Cells(1, 1), Sheets(gcsAmort).Cells(1, gLastcolumn))
gVAmortArray = Sheets(gcsAmort).Range(Sheets(gcsAmort).Cells(1, 1), Sheets(gcsAmort).Cells(gLastrow, gLastcolumn))

For x = LBound(gVAmortArray) To UBound(gVAmortArray)

    If gVAmortArray(x, 1) <> "ID" Then

            If gVAmortArray(x, 1) = gVAmortArray(x - 1, 1) Then


            For y = 1 To 3

                If y <> 1 Then

                    If gVAmortArray(x, y) <> gVAmortArray(x - 1, y) Then

                        gVAmortArray(x, y).Interior.ColorIndex = 5


                    End If

                End If

             Next y

        End If

    End If

Next x

Sheets(gcsAmort).Range(Sheets(gcsAmort).Cells(1, 1), Sheets(gcsAmort).Cells(gLastrow, gLastcolumn)) = gVAmortArray

MsgBox "Macro Complete"

End Sub

1 个答案:

答案 0 :(得分:4)

不要试图突出显示数组,只需突出显示与数组中的值对应的单元格。

而不是:

gVAmortArray(x, y).Interior.ColorIndex = 5

使用锚定到第一个单元格的偏移量并使用x和y:

Sheets(gcsAmort).Cells(1, 1).Offset(x-1, y-1).Interior.ColorIndex = 5

由于您没有对数组中的值执行任何操作,因此无需粘贴相同的值,因此您可以删除该行以保存步骤。