Pregunta

Tengo una lista de cientos de empresas en una columna.Hay empresas repetidas que fueron ingresadas de manera diferente.(es decir, "Nike" vs "Nike Inc")

Estoy tratando de programar una macro en Excel para bucle a través de la columna para buscar "Nike" y, si se encuentra, reemplazará lo que está en esa celda a un nombre de empresa consistente (es decir, "Nike, Inc.") el objetivoSería tener la búsqueda de macros para muchas empresas.

¡Aprecio cualquier ayuda!

¿Fue útil?

Solución

Aquí hay un ejemplo para Nike y 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 () según sea necesario.

Otros consejos

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

Esa es una idea muy básica.Luego, usaría compArray en lugar de ary en la solución estudiantil de Gary.La matriz de comparación contendría la información que desea que lea la célula después de ejecutar el código.Así que si quieres "Nike Inc."Para todas las instancias de "NIKE", entonces "Nike Inc."estaría en su configuración.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top