Compare uma pequena string em uma string grande no excel

0

Eu tenho que comparar uma pequena string em uma string. Por exemplo, eu tenho duas colunas que são A e B

A                   B
test_BL_pa.txt      1
test_AL_pa.txt      2 
test_BL_pa.txt      3 
test_CL_pa.txt      4

Com entrada são test_BL, test_AL, test_CL. Eu quero obter o valor na coluna B correspondente à coluna A. Assim, dado Saída:

test_BL     4(1+3)
test_AL     2
test_CL     4

Poderia me ajudar a implementá-lo pelo Excel

    
por John 12.06.2014 / 09:09

1 resposta

0

Esta macro faz isso

Sub UpdateStatus()

Dim row As Integer
row = 1 ' sets the starting row

Dim statisticRow As Integer
statisticRow = 1 ' sets the starting row for the results

Do While (True)

Dim currentValue As String
currentValue = Range("A" & row).Value

Dim otherValue As String

    If currentValue = "" Then
        Exit Do
    End If

Dim otherRow As Integer
otherRow = 1 ' sets the starting row where the results are


Do While (True) ' find it or add it

    otherValue = Range("F" & otherRow).Value
    Dim currentValueStatus As String

    If Left(currentValue, 7) = otherValue Then ' As expected sire, I found it. Can I eat now?

        currentValueStatus = Range("B" & row).Value
        Range("G" & otherRow).Value = Range("G" & otherRow).Value + Range("B" & row).Value

    Exit Do

    End If
    otherRow = otherRow + 1
    Loop
    row = row + 1

Loop

End Sub

Como você pode ver na imagem abaixo, eu tive que configurar os critérios na coluna F. Como seu post mostra que a string 'pequena' tem 7 caracteres e sempre os 7 primeiros caracteres da string grande, nós podemos use a função Left (). Se este não for sempre o caso, use a função instr ()

Edepoisdaexecuçãodamacro

    
por 12.06.2014 / 09:26