如果单元格包含部分字符串,则更改单元格值

时间:2014-08-01 15:46:01

标签: string excel vba excel-vba

我列出了数百家公司的名单。有些重复的公司以不同的方式输入。 (即" Nike" vs" Nike Inc")

我正在尝试在excel中编写宏来遍历列以搜索" Nike"如果发现它将取代该单元格中的内容,使其成为一致的公司名称(即" Nike,Inc。")目标是对许多公司进行宏搜索。

我感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

以下是 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()

答案 1 :(得分:0)

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

这是一个非常基本的想法。那么您在@ Gary的学生解决方案中使用compArray代替ary。比较数组将包含运行代码后您希望单元格读取的信息。所以如果你想要&#34;耐克公司&#34;适用于所有&#34; Nike&#34;然后&#34; Nike Inc.&#34;会在你的配置中。