Excelの行の交互の色付けグループ



Alternating Coloring Groups Rows Excel



解決:

この式を使用して、条件付き書式の入力を取得します。

= IF(B2 = B1、E1,1-E1))[セルE2の内容]

ここで、列Bにはグループ化する必要のある項目が含まれ、Eは補助列です。上のセル(この場合はB1)が現在のセル(B2)と同じになるたびに、列Eの上の行の内容が返されます。それ以外の場合は、1からそのコンテンツを引いたものが返されます(つまり、上位セルの値に応じて、出力は0または1になります)。



ここに画像の説明を入力してください

ここに画像の説明を入力してください



ここに画像の説明を入力してください


これはあなたが探していることをしていると思います。列Aのセルの値が変わると色が反転します。列Bに値がなくなるまで実行されます。

Public Sub HighLightRows()Dim i As Integer i = 1 Dim c As Integer c = 3'red Do While(Cells(i、2) '')If(Cells(i、1) '')Then '新しいIDを確認しますIf c = 3 Then c = 4 '緑Elsec = 3'赤EndIf End If Rows(Trim(Str(i))+ ':' + Trim(Str(i)))。Interior.ColorIndex = ci = i +1ループエンドサブ 

私のテストからは間違っているように思われるJasonZの回答に基づいて(少なくともExcel 2010では)、これが私のためにたまたま機能するコードです:



Public Sub HighLightRows()Dim i As Integer i = 2'2から始まり、最初の行をDim c As Integer c = 2'Color1と比較するものがないため。http://dmcritchie.mvps.org/excel/を確認してください。カラーインデックスのcolors.htmDo While(Cells(i、1) '')If(Cells(i、1)Cells(i-1、1))Then 'セルAの異なる値をチェックします(index = 1)If c = 2 Then c = 34'color 2 Else c = 2'color 1 End If End If Rows(Trim(Str(i))+ ':' + Trim(Str(i)))。Interior.ColorIndex = ci = i +1ループエンドサブ