Нет необходимости (и рекомендуется) использовать On Error Resume Next
в этом сценарии.
Прокрутите листы и сравните имя листа со значением, которое вы ищете. Вы можете использовать подстановочный знак *
или использовать функцию Instr
.
Dim xName As String
Dim xFound As Boolean
Dim Sht As Worksheet
xName = InputBox("הכנס/י שם ספק לחיפוש בקובץ", "Sheet search")
For Each Sht In ThisWorkbook.Worksheets
If Sht.Name Like xName & "*" Then ' sheet name found
' do something
xFound = True ' raise flag
Exit For
End If
Next Sht
If xFound = False Then
MsgBox ("הספק " & xName & " לא נמצא")
End If
Примечание : старайтесь не использовать ивритские символы при кодировании на VBA, это только даст вам горе в будущем (я остановился 15 лет назад).
Если вы хотите использовать функцию Instr
, используйте что-то вроде кода ниже:
If InStr(Sht.Name, xName) > 0 Then ' <-- Using Instr