Pergunta

Tenho uma lista de centenas de empresas em uma coluna.Existem empresas repetidas que foram inseridas de forma diferente.(ou seja,"Nike" vs "Nike Inc")

Estou tentando programar uma macro no Excel para percorrer a coluna para procurar por "Nike" e, se for encontrada, substituirá o que está naquela célula por um nome de empresa consistente (ou seja,"Nike, Inc.") O objetivo seria ter a busca macro para muitas empresas.

Agradeço qualquer ajuda!

Foi útil?

Solução

Aqui está um exemplo para Nike e Ford

Sub Company()
    ary = Array("Nike", "Ford")
    Dim v As String, i As Long, j As Long
    For i = LBound(ary) To UBound(ary)
        v = ary(i)
        For j = 1 To Cells(Rows.Count, "A").End(xlUp).Row
            If InStr(1, Cells(j, "A"), v) > 0 Then
                Cells(j, "A") = v
            End If
        Next j
    Next i
End Sub

Expandir ary() como requerido.

Outras dicas

dim configSht as WorkSheet, compArray() as String, x as Integer
set configSht = thisWorkbook.Sheets("Config")'This identifies your config sheet
redim compArray(0)
for x = 1 to Cells(Rows.Count, "A").End(xlUp).Row
   if Cells(x,"A")<>"" then
       compArray(UBound(compArray) = Cells(Rows.Count, "A")

   End IF
   reDim Preserve compArray(UBound(compArray)+1)
Next

Essa é uma ideia muito básica.então você usaria compArray no lugar de ary na solução Student do @Gary.A matriz Comparação conteria as informações que você deseja que a célula leia após executar o código.Então, se você deseja "Nike Inc." Para todas as instâncias de "Nike", então "Nike Inc." estaria em sua configuração.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top