Certas células da minha pasta de trabalho contêm o valor 'A'. Quero substituir o valor 'A' por 'B'.
Eles se espalham em várias folhas. Qual é a maneira mais eficiente de implementar a substituição no VBA?
Responder1
Isso funciona para mim
For Each wb In Workbooks
For Each sh In wb.Worksheets
sh.Cells.SpecialCells(xlCellTypeConstants).Replace What:="a", Replacement:="b", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next sh
Next wb
Tudo o que fiz foi usar o gravador de macro para gravar uma operação de localização e substituição e, em seguida, adicionar os loops.
Se você não quiser fazer a alteração em todas as pastas de trabalho abertas, remova o For
Next
par externo, mas imaginei que isso tornaria mais fácil executar várias pastas de trabalho ao mesmo tempo.