Se la cella contiene una stringa parziale, quindi modificare il valore della cella
Domanda
Ho un elenco di centinaia di aziende in una colonna.Ci sono società ripetute che sono state immesse in modo diverso.(cioè "Nike" VS "Nike Inc")
Sto cercando di programmare una macro in Excel per loop attraverso la colonna per cercare "Nike" e se trovata sostituirà ciò che è in quella cella a un nome della società coerente (cioè "Nike, Inc.") l'obiettivosarebbe avere la ricerca della macro per molte aziende.
Apprezzo qualsiasi aiuto!
Soluzione
Ecco un esempio per nike e guado
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
.
Espandi Ary () come richiesto.
Altri suggerimenti
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
.
Questa è un'idea molto semplice.Quindi useresti compArray
al posto di ary
in @ Gary's Student Solution.L'array di confronto conterrebbe le informazioni che si desidera leggere la cella dopo aver eseguito il codice.Quindi se vuoi "Nike Inc."Per tutte le istanze di "Nike" allora "Nike Inc."sarebbe nella tua configurazione.