Чтобы сделать что-то вроде VLOOKUP, но с заменой вы можете попробовать следующее
Option Explicit
Sub ReplaceData()
Dim i As Integer
Dim ABCArray() As Variant, DEFArray As Variant
ABCArray = Array("A", "b", "C")
DEFArray = Array("D", "E", "F")
With ActiveSheet.Range("A:A")
For i = LBound(ABCArray) To UBound(ABCArray)
.Replace What:=ABCArray(i), _
Replacement:=DEFArray(i), _
LookAt:=xlWhole, _
SearchOrder:=xlByColumns, _
MatchCase:=False
Next i
End With
End Sub
Я не могу согласиться с тем, что VLOOKUP лучше по одной простой причине: мы делаем макросы для автоматизации повторяющихся действий, и я предполагаю, что кто-тов большинстве случаев ищет решение для макроса.