質問番号:1418207622
A列とB列を比較して同じデータがあれば「1回だけ」B列の該当データに色を付けるようなマクロや関数をお教えいただきたいです。 Add Star
図のように、一致するデータに色を付けたいのですが、それを1回限りにして、B列に余計なデータがないかどうか調べたいのです。
類似の方法でも構いません。(A列とB列を比較し、一致するデータがあればC列に、B列の該当セルの個数を出す等)
実際のデータはA列、B列共に、1500行ぐらいまで入っております。
お力添えいただければ幸いです。
よろしくお願いします。
サンプルシートのA列は列番号(範囲:1〜1500 重複無し)をセット。
B列は乱数関数(rand関数)を数式にセット(範囲:1〜2000 重複有り)
Option Explicit Sub main() Dim lp1, lp2 As Long ' カウンタ Dim ARow, BRow As Long ' 最終行 ' サンプルシートをコピー If Worksheets.Count = 1 Then Worksheets(1).Copy After:=Sheets(1) End If ' コピーしたシートで処理 With Worksheets(2) ARow = .Range("A" & Rows.Count).End(xlUp).Row ' A列最終行 BRow = .Range("B" & Rows.Count).End(xlUp).Row ' B列最終行 ' A列セルの内容とB列セルの内容が一致した場合、B列セルの背面色を黄色に変更 For lp1 = 1 To ARow For lp2 = 1 To BRow If .Range("A" & lp1) = .Range("B" & lp2) Then .Range("B" & lp2).Interior.Color = vbYellow Exit For End If Next lp2 Next lp1 End With End Sub