Конечно, лучше к Дмитрию обратиться, но, я надеюсь, он не обидится
Замените код между строками "'заменяем" и "Application.ScreenUpdating = 1" на следующий:
Dim r As Range
For Each r In Selection
For lr = 1 To UBound(avArr, 1)
s = avArr(lr, lToFindCol)
If Len(s) Then 'если значение для замены не пустое
If InStr(1, r, s) Then _
r.Value = avArr(lr, lToReplaceCol)
End If
Next lr
Next r