writing once:

Sub M_snb()
  With CreateObject("scripting.dictionary")
    For j = 1 To 2
      sn = Sheets(Choose(j, "reversion", "alpha")).Cells(1).CurrentRegion
      For jj = 2 To UBound(sn)
        .Item(sn(jj, 2)) = Application.Index(sn, jj)
      Next
    Next
       
    Sheets("reversion").Cells(20, 1).Resize(.Count, UBound(sn, 2)) = Application.Index(.items, 0, 0)
  End With
End Sub
NB. Union is a worksheet oriented method = Range
If the replacement is correct you don't need any colouring at all.