アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になっております。

この度、A13セルとC13セルより下記に入力されている重複データを
ピンク色に塗りつぶしたくマクロの記録を行ったのですが、コードが長くなってしまう為
どの様なプログラムにすればよろしいのかご質問させていただきました。

よろしくお願いいたします。

質問者からの補足コメント

  • 理想のプログラムの処理はこの形にしたいと思っております。

    「VBAでの重複データに色付け」の補足画像1
    No.1の回答に寄せられた補足コメントです。 補足日時:2020/04/24 23:37

A 回答 (3件)

No.1です。



もっと短くなるのかもですけど初級者なのでご勘弁を。(ちょっと前まで2002を使ってた者でして)

Sub Macro_2()
Dim r As Range

For Each r In Intersect(Range("A:A,C:C"), Range("A13", Cells(Rows.Count, "A").End(xlUp)).EntireRow).Areas

r.FormatConditions.AddUniqueValues
r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
r.FormatConditions(1).DupeUnique = xlDuplicate
With r.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With r.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
r.FormatConditions(1).StopIfTrue = False

Next
End Sub

一応A列とC列は同じ行数と仮定してのコードです。
「VBAでの重複データに色付け」の回答画像3
    • good
    • 0
この回答へのお礼

めぐみんさん、ありがとうございます。
理想の動きができました。
この度はありがとうございました。

また質問させていただくと思いますが、
その際にはよろしくお願いいたします。

お礼日時:2020/04/28 01:58

こんにちは



No1様と同様なさりたいことがわからないので、具体的な回答は示せませんが…

>マクロの記録を行ったのですが、コードが長くなってしまう為~
実際に、どのような操作を記録なさったのか不明ですが、記録されるマクロを短くする工夫の一つとして、記録中は無駄な操作を行わないことが挙げられます。

また、ご質問の内容を実現する方法のひとつとして、「条件付き書式」を利用する方法が考えらえます。
条件付書式の設定の操作をマクロの記録で記録すれば、1回分の設定操作の記録だけで済むはずですので、記録が長くなるようなことも無いと考えられます。
    • good
    • 0

質問の内容が把握できないのですが?



・A13と一致するC13以下のデータを塗りつぶす
・A列とC列の13行目以下にあるデータで、コンボすると重複になる行(セル?)を塗りつぶす
・A~C列の13行目以下にあるデータ(以降は上記と同じ)

データ内容と塗りつぶす内容について画像添付があったらわかりやすかったかも。
あと『ピンク』ってちなみにどのように指定したのでしょう?
それとコードを提示した方がどんな作り方をしたのかって点で指導を受けると勉強にはなると思うのですけど?
この回答への補足あり
    • good
    • 1
この回答へのお礼

めぐみんさん、回答ありがとうございます。
いつもお世話になっております。

私の言葉足らずで申し訳ございません。

理想の形といたしまして、A列とC列の13行目以下にあるデータの重複に
対し、添付させていただきました画像の動きをさせたいご質問になります。
B列は塗りつぶしをさせたくなかったので、マクロの記録の際に列選択を
せずに記録した際のプログラムはこのような形になりました。

Option Explicit

Sub Macro1()
'
' Macro1 Macro
'
Range("A:A,C:C").Select
Range("C1").Activate
Selection.FormatConditions.AddUniqueValues
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).DupeUnique = xlDuplicate
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub

ですが記録したこちらのマクロを実行いたしますと、
11行目の結合セルに【入荷リスト】の文字が入っている為、
B列の色も塗りつぶしがされる為、困っている次第です。

よろしくお願いいたします。

お礼日時:2020/04/24 23:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています