2015-10-19 130 views
0

我想要一個函數採用兩個參數,一個搜索單元格和一個要搜索的單元格,其中搜索單元格包含以逗號分隔的列表。我想要測試每個元素以查看它是否位於「搜索」單元格中。例如:「運行時錯誤」424「:Object Required」

List_of_String: word1, word2, word3 
Where_to_Search: bbbbbword1 'Return TRUE' 
Where_to_Search: bbbbhhhhhmmmmm 'Return FALSE 

我已經寫:

Function Search_in_String(List_of_Strings_to_Search As String, Where_to_Search As String) 

String_array = Split(List_of_Strings_to_Search, ",") 
Dim is_in_num As Integer 
Dim is_in As Boolean 

is_in = False 

For i = 0 To (UBound(String_array) - 1) 
    is_in_num = InStr(Where_to_Search, Trim(String_array(i))) 
    If is_in_num > 0 Then is_in = True 
    If is_in Then Exit For 
Next i 

Search_in_String = is_in 
End Function 



Sub test() 
    MsgBox Search_in_String(BJ7.Value, Bk7.Value) 
End Sub 

我使用測試我Search_in_String功能(我相信也沒有工作)的測試()函數。當我(F8)步驟我得到的錯誤:

Run-Time error '424': Object required

+3

'BJ7'和'Bk7'不是對象。將'Option Explicit'放置在代碼模塊的頂部。 – GSerg

+1

@Gserg謝謝。我已經完成了這個工作,現在正在用BJ7和BK7獲得'Variable not defined'。如果將它們改爲'範圍(「BJ7」),值和範圍(「BK7」)。值,我得到'類型不匹配' – pokeairguy

回答

2

更改子測試()這個:

Sub test() 
    MsgBox Search_in_String(Range("BJ7").Value, Range("BJ7").Value) 
End Sub 
+0

嘿,謝謝。我剛剛嘗試這樣做,現在我得到了'運行時錯誤'13':類型不匹配' – pokeairguy

+0

女巫行代碼? –

+0

在行'MsgBox Search_in_String(Range(「BK7」)。Value,Range(「BJ7」)。Value)' – pokeairguy