首页 > 解决方案 > 在一列中的文本字符串中查找某些文本并删除或替换为空白

问题描述

我经常遇到必须从多个 Excel 文件的公司名称末尾删除“LLC, Inc”..etc 的问题。我希望编写一个 VBA 代码,它可以为我做这件事,并允许我添加新的东西来删除或替换,因为我发现了不同的迭代(例如 LLC vs LLC vs,LLC)

我曾尝试谷歌解决方案,但我发现的只是 1 对 1 的查找和替换选项。

这是迄今为止我得到的最接近的,但它只是一对一的查找和替换。

Sub Remove()

Dim findtext As String
Dim replacetext As String

findtext = (", LLC")
replacetext = ("")

Set Sheet = Sheets("Public Utilities")

Sheet.Cells.Replace what:=findtext, Replacement:=replacetext, _
    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
    SearchFormat:=False, ReplaceFormat:=False

End Sub

标签: excelvba

解决方案


创建一个循环以包含变体:

Sub Remove()
    Dim findtext
    Dim replacetext As String

    replacetext = ("")

    Set Sheet = Sheets("Public Utilities")

    For Each findtext In Array(", LLC", ", LLC Inc", "junk")
        Sheet.Cells.Replace what:=findtext, Replacement:=replacetext, _
            LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
            SearchFormat:=False, ReplaceFormat:=False
    Next findtext
End Sub

推荐阅读