2017-12-27 404 views
0

我希望能够使用通配符搜索两个搜索字段。使用通配符创建搜索

例如:我有一个搜索字段,可以搜索水果。我希望能够放入“应用程序”或“通道”,并将结果提供给我。

我看过的大部分代码只有在你知道要搜索什么的时候才有效,但是我的字符串总是会改变的。

这是下面的代码搜索水果,但匹配它。

sheet.Select 
finalrow = Cells(Rows.Count, 1).End(xlUp).Row 


For i = 1 To finalrow 
    If IIf(fruit <> "", Cells(i, 1) = fruit, True) Then 
    Range(Cells(i, 1), Cells(i, 8)).Copy 
    ssheet.Range("A100").End(xlUp).Offset(1, 0).Resize(1, 8).Value = 
    Range(Cells(i, 1), Cells(i, 8)).Value 

    dsheet.Select 

    End If 
Next i 

回答

0

当只做一个,你不需要你最后一个问题的IIF。

您不需要复制行。并避免选择。

finalrow = dsheet.Cells(Rows.Count, 1).End(xlUp).Row 


For i = 1 To finalrow 
    If fruit = "" Or InStr(dsheet.Cells(i, 1),fruit) > 0 Then 
     ssheet.Range("A100").End(xlUp).Offset(1, 0).Resize(1, 8).Value = dsheet.Range(dsheet.Cells(i, 1), dsheet.Cells(i, 8)).Value 
    End If 
Next i 

如果你想在IIF,因为你简化了它这样一个问题:

If IIf(fruit <> "", InStr(dsheet.Cells(i, 1),fruit) > 0, True) Then 
+0

你好,这样会令水果是外卡?所以如果我输入“ap”,我会得到苹果杏等等? – Tara

+0

是如果找到该零件,则Instr将返回大于'0'的数字。 –

+0

工程太棒了!再次感谢你的帮助! – Tara