2つのシートの差分

こういうものが無いと不安な仕事があるのです。

' 指定された2つのシートの差分を新しいシートに出力する
Sub Diff(ByRef 比較対象1 As Worksheet, ByRef 比較対象2 As Worksheet)
    Dim 出力 As Worksheet
    Set 出力 = Worksheets.Add

    Dim endOfRow As Long
    endOfRow = 比較対象1.Range("A65536").End(xlUp).Row
    Dim endOfColumn As Long
    endOfColumn = 比較対象1.Range("ZZ1").End(xlToLeft).Column
    
    Dim c1 As Range
    For Each c1 In 比較対象1.Range(比較対象1.Cells(1, 1), 比較対象1.Cells(endOfRow, endOfColumn))
        Dim c2 As Range
        Set c2 = 比較対象2.Cells(c1.Row, c1.Column)
        If c1.Value <> c2.Value Then
            Dim o As Range
            Set o = 出力.Cells(c1.Row, c1.Column)
            o.Value = "+" & c1.Value & Chr(10) & "-" + c2.Value
        End If
    Next
End Sub

' 2つのシートを選択すると、そのシートの差分を新しいシートに作成する
Sub Diff12()
    Call Diff(ActiveWindow.SelectedSheets(1), ActiveWindow.SelectedSheets(2))
End Sub