Localizar e substituir no Excel

0

Eu tenho uma tabela na folha 1 tem duas colunas A e B. Eu criei uma macro para encontrar o valor de A1 na folha 2 e substituir o valor de B1 em vez do valor A1 na planilha 2

Estou procurando melhorar a macro para abranger todo o intervalo de colunas A e B.

    Sub Find_Replace()
'

'
    Sheets("Sheet1").Select
    Range("A1").Select
    Selection.Copy
    Sheets("Sheet1").Select
    Range("B1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet2").Select
    Selection.Replace What:="Value 1 ", Replacement:="value X", LookAt:= _
        xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

tabela de amostras

** procurando melhorar o alcance ("A1"). Selecione para cobrir todas as células disponíveis no intervalo A e B

    
por Ali_2017 12.11.2017 / 12:17

1 resposta

0

Tente este código. O intervalo de amostra é A1: A10 na Folha1. B1: B10 é automaticamente referido usando o método Offset no código VBA. No entanto, a limitação mencionada no comentário acima se aplica. As folhas são Sheet1 e Sheet2 na mesma pasta de trabalho.

Tente este código e reverta.

Sub Macro1()
Set myrange = Sheet1.Range("A1:A10")
For Each cell In myrange

Dim find1
Dim replace1

find1 = cell.Value
replace1 = cell.Offset(RowOffSet:=0, ColumnOffset:=1).Value

    Sheet2.Cells.Replace What:=find1, Replacement:=replace1, LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Next cell
End Sub
    
por 12.11.2017 / 20:36