Se a célula contiver uma string parcial, altere o valor da célula
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!
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.