2017-12-27 420 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