Excel VBA在一个单元格中查找多个值
我有一些代码来搜索单元格中的某个值,然后在找到该值时执行某些操作。我的文本步骤是在一个单元格中搜索两个值。如果找到这两个值,请执行某些操作 这是我搜索1值的代码Excel VBA在一个单元格中查找多个值,excel,vba,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 N
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
我的问题是,我如何调整这个词来寻找两个词而不是一个词
例如,单元格可能包含
“猫坐在垫子上”
我需要找到有“猫”和“马特”两个词的细胞。
我花了很长时间在网上寻找如何做到这一点,但我发现似乎没有任何帮助
提前谢谢
I您可以在范围内循环并检查每个单元格:
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
我相信如果你将参数添加到
Find
,LookAt:=xlPart
中,那么你可以在单元格中找到“matt”和“cat”中的一个或两个。请你详细说明一下,matt,我不熟悉LookAt:=xlPart!非常感谢,我想做一些不同的事情来删除整行,我可以做r.EntireRow.Offset或其他什么?我已经尝试更改此代码,以便如果它找到值,它将剪切整行并粘贴到其他地方。但是,我得到一个错误,说我的目标范围不匹配。整行有3列,我使用union选择了3个要粘贴到的单元格。我不明白为什么这不管用@Gary
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