Я хочу иметь свою собственную функцию, которая позволяет искать одну и ту же область на нескольких листах. Моя идея состояла в том, чтобы просмотреть набор листов (здесь все листы в рабочей книге) и использовать Find
для поиска в этой области. Теперь, если поиск был успешным на первом листе, я не хочу, чтобы результат был перезаписан из неудачных поисков на следующем, там для условия if.
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
.
Почему моя функция не просто продолжает следующую итерацию?