2016-09-01 1 views
0

ワークシートの内容を確認できるように配列を設定しました。私が矛盾を見つけた場合は、それらを強調したいと思います。私は.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

数式を使用して条件付き書式を試しましたか? – davidhu2000

+1

値の配列は、値としてメモリに格納され、値の元になったセルには関連付けられません。それは単なる値なので、関連するフォーマットはありません。 –

+0

デービッドありがとうございました - 私はワークブックが大量でCFがパフォーマンスを殺すので、条件付き書式設定(CF)を使用したくありません。 Scott - あなたのご意見ありがとうございます。そのフィードバックは私が読んだものと一致しています - 私はこれらの細胞を強調する別の方法を見つける必要があります。もう一度入力を感謝します。 – user1624926

答えて

4

代わりに、単に配列の値に対応するセルを強調表示し、配列を強調しようとしているの。

の代わりに:

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

そして、あなたは、配列の値に何もしていないので、そこにある:

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

使用して最初のセルに固定し、あなたにxとyを使用してオフセット同じ値を貼り付ける必要がないため、その行を削除してステップを保存することができます。

+1

もう一度 - ありがとうScottあなたの入力。 – user1624926

関連する問題