2016-03-21 11 views
0

Iは、セルB2から(列ごとシェーディングセル行の値が変更され、EXCEL

-compare行データにできるようにする必要があり、。最後まで、すなわち、ワークシート全体マイナス1行列)

上記の列のデータ変更がない場合。列見出しを強調表示します。

データが変更された場合。データが変更されている最初のセルをハイライト表示

例を参照してください。私が持っているExcelシートは巨大なので、参照列は使用できません。また、各列の複数の式も機能しません。私はこれを単一列とその偉大な、=間接( "A" & ROW())<>間接( "A" &(ROW() - 1))が見つかりましたが、実用的ではない。助けてください。

enter image description here enter image description here

Bahh、私は、1を自分で書いた、まだ行または列の数には、そのダイナミックではないが、それは仕事をしていません、と私は両方の行を通過する必要はありませんと思いますセルの位置を参照する方法を十分に速く見つけられませんでした。彼の歯茎を羽ばたくRobBソリューションよりも優れています。

Private Sub CommandButton1_Click() 
Dim i As Long 
Dim j As Long 
Dim flag As Boolean 
Columns().Font.Color = vbBlack 
Rows().Interior.ColorIndex = 0 
flag = False 
For j = 2 To 120 'Must hard code number of columns 
    For i = 3 To 3300 'Must hard code numbe of rows 
     If Cells(i, j).Value <> Cells(i - 1, j) And Not IsEmpty(Cells(i, j).Value) Then 
      Cells(i, j).Interior.ColorIndex = 37 
      flag = True 
     Else 
      If flag Then 
       Cells(1, j).Interior.ColorIndex = 36 
      End If 
     End If 

    Next i 
    flag = False 
Next j 
End Sub 
+0

もっと簡単な質問は、これをどのように=間接( "A"&ROW())<>間接( "A"&(ROW() - 1))すべての列に適用するのですか? – thoughtMaze

答えて

-1

これはマクロのための簡単なタスクのように聞こえますが、手動で(たとえばキーを押して)比較を開始する必要があります。

関連する問題