[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『重複したデータ行の色付け』(あゆみ)
sheetの55行目から90行目のC,D,E列の内容を検索し重複した内容があった場合、二回目以降の重複した行に色を付けたいです。
vbaは初心者なので、検索して見つけたコードですが、このコードですと重複した両方のセルに色が付くので、色を付けたいのは上の行から検索し、下の行で重複が出現したら、2回目以降に出たデータのみに色を付けたいと思っています。どうか、ご教示をお願いします。
Sub ダブリ() Dim i As Long, j As Long For i = 55 To 90 For j = 3 To 5 If WorksheetFunction.CountIf(Range("C55:E90"), Cells(i, j)) > 1 Then Cells(i, j).Interior.ColorIndex = 6 End If Next j Next i End Sub
最初は重複削除で探していましたが、行ごと削除しか見つからず、行ごと削除して上に詰めてしまうと、横の列や下の行に別のデーターが入力されているので色付けにしました。
< 使用 Excel:Office365、使用 OS:Windows10 >
また、VBAでやるにしてもネット検索で見つかったコードがそのまま使えるケースは極々稀です。
きちんと内容を理解してご自身の環境に合わせてカスタマイズできるようになったほうが良いと思います。
さらには、VBAで条件付き書式を設定することも可能です。
どのようなコードを書けばよいかは【マクロの記録】という方法を使うと、たたき台となるコードが得られます。
なので、VBAでやりたいというならば、【マクロの記録】で得られたコードを【ステップ実行】して研究するところから始めてみてはどうですか?
(もこな2) 2022/07/03(日) 00:01
>55行目から90行目のC,D,E列の内容を検索し重複した内容があった場合 ちなみに、 C列 D E 55 a b 1 56 2 3 a 57 a b 1 とあったとき、 ・E56の a も重複ということなんですか? ・それとも、3つの列が同時に一致する57行のようなデータを調べるのではないのですか?
念のため確認しておきます。 話がまるで違ってきますのでね。 (γ) 2022/07/03(日) 07:43
もこな2さま
ありがとうございます。
【マクロの記録】方法について詳しく調べてやってみたいと思います。
γさま
ありがとうございます。
はい3つの列が同時に一致する場合です。
なので、γさまの例の場合、57行のC,D,E列に色付けとなります。
(あゆみ) 2022/07/03(日) 11:27
既にご指摘のとおり、条件付き書式がよいと思います。
C55:E90を選択したうえで、
=COUNTIFS($C$55:$C55,$C55,$D$55:$D55,$D55,$E$55:$E55,$E55)>1
の条件で、条件付き書式を設定すればすみますね。
ちなみに、VBAでやるよりこちらのほうがよいと思います。
セルの変更に即時に反応してくれますから。
(ちなみに、提示されたコードでは、3列の同時一致を条件としたものではないですね。)
(γ) 2022/07/03(日) 11:58
本当の目的は、色付けではなく、削除のように読めますが?
ただし、どのように削除したかったのかわかりません。
(マナ) 2022/07/03(日) 21:40
ありがとうございました。
条件付き書式で解決いたしました。
色々とご教示ありがとうございました。
(マナ)さま
ありがとうございます。
削除については、上に詰めるとかで入力データーの移動はなく
その場所での削除となります。
つまり上の例ですと、57行のC,D,Eのデーターがその場で削除となります。
条件付き書式でセル色、文字の色設定で見えなくなったので、解決に至りました。
(あゆみ) 2022/07/04(月) 09:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.