A macro de problemas do Excel pode ser necessária

2

Eu estou tentando comparar listas no excel. Existem duas listas, uma lista tem apenas uma coluna e a outra tem duas colunas, e o que estou tentando fazer é quando a coluna A corresponde à coluna C do que pegar o valor na coluna D e usá-la para substituir a coluna A.

Por exemplo:

Column A  Column B Column C Column D
Blue               Blue     Shirt   
Blue               Red      Pants
Red                Green    Shoes
Red
Green
Green
Purple

So the completed list should look like:

Column A  Column B Column C Column D
Shirt              Blue     Shirt   
Shirt              Red      Pants
Pants              Green    Shoes
Pants
Shoes
Shoes
Purple
    
por user124643 25.03.2012 / 03:37

2 respostas

1

Isso funcionará até você encontrar um erro. E então ele pára de funcionar. Não tenho certeza do porquê, talvez você ou outra pessoa possa corrigi-lo, mas ele funcionará para sua seleção, desde que sua seleção seja encontrada (por exemplo, "roxo" interrompe o ciclo)

Sub test()
Dim a As Variant
Application.ScreenUpdating = False

On Error Resume Next

Err.Clear

For Each c In Selection

a = Application.WorksheetFunction.VLookup(c, Range("C1:D3"), 2, False)

If Err.Number = 0 Then c.Value = a

Next

Application.ScreenUpdating = True

End Sub
    
por 25.03.2012 / 12:24
1

Em outra coluna (por exemplo, B), insira a seguinte fórmula e preencha:

=IFERROR(VLOOKUP(A1,$C$1:$D$3,2,FALSE),A1)

Copie a coluna resultante e Cole especial - > Valores apenas sobre a coluna A. Depois, você pode excluir as fórmulas da coluna B.

    
por 26.03.2012 / 00:55