• ベストアンサー

縦列で数字が重複していたら色分けしてセルを塗り潰す

このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がおみえでしたらよろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  また、私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】 添付図のとおり、A列~Y列の5行のセルがあります。 セルの中には数字がランダムに入っています。 A列から縦5つの数字を見たとき、 数字が重複しているならそのセルを塗り潰して、 Y列までそれを繰り返す。 最初に見つけた重複数字は「黄色」、 2つめに見つけた重複数字は「青色」に分けて塗潰す方法が知りたいです。 【注意事項】   ・A列からY列に入る数字は毎回異なります。   ・重複数字が無い列も存在します。   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

以下のサイトを参考にして 値が重複するセルに色を付ける https://help-vba.com/same-value-cells/ Sub Test() Dim i As Long, cnt As Long Dim mRng As Range, c1 As Range, c2 As Range Range("A1:Y5").Interior.ColorIndex = xlNone For i = Columns("A").Column To Columns("Y").Column Set mRng = Range(Cells(1, i), Cells(5, i)) cnt = 1 For Each c1 In mRng If WorksheetFunction.CountIf(mRng, c1) > 1 _ And c1.Interior.ColorIndex = xlNone Then For Each c2 In mRng If c1.Value = c2.Value Then If cnt = 1 Then c2.Interior.Color = vbYellow Else c2.Interior.Color = vbCyan End If End If Next cnt = 2 End If Next Next End Sub

sazanami0422
質問者

お礼

早速、回答頂いたソースにて結果が得られました。ありがとうございました。また、サンプルとなるページも教えて頂きありがとうございました。また見かけたら回答頂けると助かります。

Powered by GRATICA

関連するQ&A