Suponho que o que você quer é fazer a substituição apenas uma vez e interromper outras regras quando a substituição for feita. Tomando sua segunda planilha como exemplo, a linha 12 "mas" deve ser traduzida como "no entanto" e interromper outras regras para que "no entanto" não se traduza em "hoyouever" (como a regra # 17 traduz "nós" para "você") ).
Uma solução alternativa é primeiro traduzir tudo para algum símbolo intermediário e, na segunda rodada, converter os símbolos intermediários para a substituição desejada. Modificando ligeiramente o seu código conforme abaixo irá funcionar:
Sub xLator2()
Dim s1 As Worksheet, s2 As Worksheet
Dim N As Long, i As Long
Dim from(), too()
Set s1 = Sheets("Sheet1") ' contains the data
Set s2 = Sheets("Sheet2") ' contains the translation table
s2.Activate
N = Cells(Rows.Count, 1).End(xlUp).Row
ReDim from(1 To N)
ReDim too(1 To N)
For i = 1 To N
from(i) = Cells(i, 1).Value
too(i) = Cells(i, 2).Value
Next i
s1.Activate
' -------------- Modification starts here --------------------------
' Replace from from(i) to __MYREPLACEMENTi__ (where i is the counter)
For i = LBound(from) To UBound(from)
Cells.Replace What:=from(i), Replacement:="__MYREPLACEMENT" + Str(i) + "__"
Next i
' Replace from __MYREPLACEMENTi__ to too(i) (where i is the counter)
For i = LBound(from) To UBound(from)
Cells.Replace What:="__MYREPLACEMENT" + Str(i) + "__", Replacement:=too(i)
Next i
' -------------- Modification ends here --------------------------
End Sub