Excel VBA在一个单元格中查找多个值

时间:2014-09-08 12:27:42

标签: excel vba

我有一些代码来搜索单元格中的值,然后在找到该值时执行某些操作。我的文本步骤是在一个单元格中搜索两个值。如果找到这两个值,那就做点什么。

这是我搜索1个值的代码;

Dim C As Range
Set SrchRng = ActiveSheet.UsedRange
Do
    Set C = SrchRng.Find("Wash", LookIn:=xlValues)
    If Not C Is Nothing Then C.EntireRow.Delete
    Loop While Not C Is Nothing

我的问题是我如何调整它来寻找两个单词而不是一个?

例如,单元格可能包含

"猫坐在马特"

我需要找到单词cat和matt的单元格。 我花了很长时间在网上看这是怎么做的,但我发现似乎没什么帮助。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以遍历范围并检查每个单元格:

Sub FindBoth()
    Dim r As Range
    For Each r In ActiveSheet.UsedRange
        v = r.Value
        If InStr(v, "cat") > 0 And InStr(v, "matt") > 0 Then
            r.EntireRow.Delete
        End If
    Next r
End Sub

Dim r As Range
Dim i As Long
Dim x As Long
Dim y As Long

i = 1
x = 1
y = 1

For Each r In ActiveSheet.UsedRange
    v = r.Value
    If InStr(v, "ION") > 0 And InStr(v, "Dog") > 0 Then

        r.EntireRow.Cut
        Debug.Print (r.Value)

        Union(Cells(i, 7), Cells(x, 8), Cells(y, 9)).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        i = i + 1
        x = x + 1
        y = y + 1




    End If
Next r