Ты думаешь написать это как функцию? И если функция возвращает «что-то», значит, это сообщение, которое вы хотели. Это будет выглядеть так:
Sub fill_UF()
Dim searchItem as string
SearchItem = UserForm1.Textbox1.Value
If foundItem(searchItem)= "Did not Find item" then
Msgbox foundItem(searchItem)
goto ending
End if
UserForm1.Label = foundItem(searchItem)
ending:
End sub
'
Function foundItem(searchItem as string)
Dim departments As Workbook
'Dim searchItem As String
'Dim foundItem As String
Set departments = Workbooks.Open("C:\Users\MyPc\Desktop\Department References.xls")
'searchItem = Cstr(searchItem) ' sometimes you need to add this
If Menu.optionBtnDepartmentOne = True Then
foundItem = departments.Worksheets("Department One").Range("D2:D10000").Find(searchItem).Offset(0, 1).Value
Goto ending
ElseIf Menu.optionBtnDepartmentTwo = True Then
foundItem = departments.Worksheets("Department Two").Range("D2:D10000").Find(searchItem).Offset(0, 1).Value
Goto ending
ElseIf Menu.optionBtnDepartmentThree = True Then
foundItem = departments.Worksheets("Department Three").Range("D2:D10000").Find(searchItem).Offset(0, 1).Value
Goto ending
End If
foundItem = "Did not Find item"
ending:
Workbooks("Department References").Close SaveChanges:=False
End function
Попробуйте это. Возможно, для работы потребуется некоторое редактирование, но идея есть.