Excel 正在检查单元格中的多个数据之一

Excel 正在检查单元格中的多个数据之一,excel,vba,Excel,Vba,我想制作一个脚本来检查行,第二行检查第一列上的所有行,检查下一行,依此类推 我想从excel表格中删除一些单词,问题是有很多单词 我想这样做: 如果A1=汽车、轮船或火车…针对每个包含文本的单元格。 如果单元格中包含指定的文本,则删除该文本 有人能举一些例子吗 谢谢, Sebastian将要删除的单词列表存储在一个范围内,并在此范围内循环 例如: Sub DeleteFromWordList() Dim InRange As Range, CritRange As Range Dim InCel

我想制作一个脚本来检查行,第二行检查第一列上的所有行,检查下一行,依此类推

我想从excel表格中删除一些单词,问题是有很多单词

我想这样做:
如果A1=汽车、轮船或火车…
针对每个包含文本的单元格。 如果单元格中包含指定的文本,则删除该文本

有人能举一些例子吗

谢谢,
Sebastian

将要删除的单词列表存储在一个范围内,并在此范围内循环

例如:

Sub DeleteFromWordList()
Dim InRange As Range, CritRange As Range
Dim InCell As Range, CritCell As Range

    Set InRange = Selection                  ' all selected source cells
    Set CritRange = Range("Words2Delete")    ' the named range of words to be excluded

    For Each InCell In InRange.Cells
        For Each CritCell In CritRange.Cells
            If InCell = CritCell Then
                InCell = ""                  ' blank it
                Exit For                     ' exit inner for
            End If
        Next CritCell
    Next InCell
End Sub

希望这有助于。。。。祝你好运MikeD

尝试通过VBA使用查找/替换。它非常快

Sub SearchAndDestroy()
    Dim SearchWordCell As Range

    For Each SearchWordCell In Range("A1:A50") 'Asuming that range A1:A50 is the list with the 50 words you want to search/replace

        Range("C10:R4510").Replace What:=SearchWordCell.Value, Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False  'Asuming that range C10:R4510 is the table where you want to find and delete the words.

    Next SearchWordCell

End Sub

只需根据需要进行修改。

是否必须逐列进行?您还可以使用Excel的“查找/替换”功能查找每个单词,并将其替换为“”。不一定是逐列查找。但是查找/替换不是一个选项,我有大约4500行。大约50个单词要删除。我的意思是通过VBA使用查找/替换。我在下面贴了一个例子。谢谢你的回复。我尝试了你的脚本,但我一直得到错误1004,应用程序定义或对象定义的错误。知道为什么吗?我正在使用Excel 2010不知道。。。我用的是2003年。您是否创建了“Words2Delete”范围?您可以使用调试器循环并检查在哪个语句中出现错误吗?我如何修改此脚本以删除列表中不包含的单词并保留其他单词?谢谢,塞巴斯蒂安