0
我想擁有自己的函數,即可以在多個工作表上搜索同一區域。我的想法是查看一組工作表(這裏是工作簿中的所有工作表)並使用Find
來搜索該區域。現在,如果在第一張紙上搜索成功,我不希望結果被以下的不成功搜索覆蓋,if的條件也會覆蓋。當FIND沒有返回結果時退出函數
Function SheetsFind(LookUpValue As Integer) As Variant
Dim SearchRange As Range
For Each WS In Sheets
Set SearchRange = WS.Range("A1:B6")
If (SearchRange.Find(LookUpValue, LookIn:=xlValues, LookAt:=xlWhole) <> "Nothing") Then
SheetsFind = SearchRange.Find(LookUpValue, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Value
End If
Next WS
End Function
現在的問題是,如果在條件查找不成功,該函數離開了,我得到一個#value
錯誤。
爲什麼我的函數不會繼續下一次迭代?
完美,非常感謝你。 – stema 2011-03-15 13:19:41
如果您將此函數用作工作表函數,那麼您需要使其變得易失性,否則當您查找的數據發生更改時,它不會重新計算。我可能會在SheetsFind = oResult.Offset(0,1).Value後添加Exit函數。 – 2011-03-15 13:36:54