Si la cellule contient une chaîne partielle, puis changez la valeur de la cellule
Question
J'ai une liste de centaines d'entreprises dans une colonne.Il y a des entreprises de répétition qui ont été entrées différemment.(C'est-à-dire "" Nike "vs" Nike Inc ")
J'essaie de programmer une macro dans Excel pour faire boucle la colonne de rechercher "Nike" et, si trouvé, il remplacera ce qui est dans cette cellule à un nom de société cohérent (c.-à-d. "Nike, Inc.").serait d'avoir la recherche macro de nombreuses entreprises.
J'apprécie toute aide!
La solution
Voici un exemple pour nike et 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
Développer ary () au besoin.
Autres conseils
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
C'est une idée très fondamentale.Ensuite, vous utiliseriez compArray
à la place de ary
dans la solution étudiante de @ Gary.Le tableau de comparaison contiendrait les informations que vous souhaitez lire après avoir exécuté le code.Donc, si vous voulez "Nike Inc."Pour toutes les instances de "Nike", alors "Nike Inc."serait dans votre config.