Если ячейка содержит частичную строку, затем изменить значение ячейки

StackOverflow https://stackoverflow.com//questions/25083955

  •  02-01-2020
  •  | 
  •  

Вопрос

У меня есть список сотен компаний в столбце.Есть повторные компании, которые были введены по-разному.(то есть «Nike» vs "Nike Inc")

Я пытаюсь запрограммировать макрос в Excel, чтобы включить столбец через столбец, чтобы найти «Nike», и если обнаружено, что он заменит то, что в этой ячейке к консистенционной компании (т.е. Nike, Inc. »)Было бы, чтобы макрос поиск многих компаний.

Я ценю любую помощь!

Это было полезно?

Решение

Вот пример для nike и 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
.

Развернуть ary () по мере необходимости.

Другие советы

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
.

Это очень базовая идея.Тогда вы бы использовали compArray вместо ary в студенческом решении @ GARY.Массив сравнения будет содержать информацию, которую вы хотите, чтобы ячейка прочитала после запуска кода.Так что, если вы хотите «Nike Inc.»Для всех случаев «Nike» тогда «Nike Inc.»будет на вашем конфиге.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top