サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。
-
from: maro宇賀乃介さん
2026/02/19 22:22:19
icon
バンバンシステムを組めば効率性抜群
Sub SyncAndColorB()
Dim ws As Worksheet
Dim lastRowA As Long, lastRowB As Long, nextRowB As Long
Dim cell As Range
Dim matchIdx As Variant
Set ws = ActiveSheet
' 1. B列の色(条件付き書式を含む)を一旦クリア(任意)
' 以前の色付けをリセットしたい場合は次の行を活かしてください
ws.Columns("B").Interior.ColorIndex = xlNone
' A列とB列の最終行を取得
lastRowA = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
lastRowB = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
' --- ステップ1: A列にあってB列にないものを、B列の末尾に追加 ---
For Each cell In ws.Range("A2:A" & lastRowA)
If cell.Value <> "" Then
' WorksheetFunctionのMatchは大文字小文字を区別しません
matchIdx = Application.Match(cell.Value, ws.Range("B:B"), 0)
' 見つからなかった場合(エラーの場合)のみ追記
If IsError(matchIdx) Then
nextRowB = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row + 1
ws.Cells(nextRowB, "B").Value = cell.Value
End If
End If
Next cell
' --- ステップ2: B列にあってA列にないものを色付け ---
' 追記後のB列の最終行を再取得
lastRowB = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
For Each cell In ws.Range("B2:B" & lastRowB)
If cell.Value <> "" Then
matchIdx = Application.Match(cell.Value, ws.Range("A:A"), 0)
' A列に存在しない場合、黄色で塗りつぶし
If IsError(matchIdx) Then
cell.Interior.Color = RGB(255, 255, 0) ' 黄色
End If
End If
Next cell
MsgBox "処理が完了しました!"
End Sub-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 0
-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 0
icon拍手者リスト

-
コメント: 全0件


