Eu usei esta macro e funcionou bem, mas eu precisava de um pouco mais.
Eu tive que alterar LookAt:=xlWhole
para LookAt:=xlPart
e adicionar a formatação de cor. Agora, quando eu seleciono uma coluna, a Macro parece percorrer a coluna três vezes antes de terminar, por isso está fazendo substituições em triplicado.
O campo original é: 7555 incorporado no texto. A planilha de referência tem duas colunas, A tem 7555, B tem 77555. Quando a macro termina, muitos dos números agora são 777555, mas alguns estão corretos. Estranho!
Alguém pode ajudar com a edição desta macro para impedir que ela seja executada em loop?
Sub MultiReplace()
On Error GoTo errorcatch
Dim arrRules() As Variant
Set rngCol1 = Sheets(strSheet).Range(strRules)
Set rngCol2 = rngCol1.Offset(0, 1)
arrRules = Application.Union(rngCol1, rngCol2)
' Set the CellFormat object to replace with green.
With Application
.ReplaceFormat.Interior.ColorIndex = 35
End With
For i = 1 To UBound(arrRules)
Selection.Replace What:=arrRules(i, 1), Replacement:=arrRules(i, 2), _
LookAt:=xlPart, MatchCase:=True, ReplaceFormat:=True
Next i
errorcatch:
End Sub