tl; dr: при запуске функции range.find в справочной книге, похоже, текст не найден. Пожалуйста, критикуйте мой код.
Моя текущая цель состоит в том, чтобы текстовое поле B пользовательской формы автоматически заполнялось на основе пользовательского ввода для текстового поля A. Я пытаюсь заставить это работать, автоматически ища справочную рабочую книгу для текстового поля A ( пользовательский ввод) строка и возвращение значения из ячейки смещения.
Я наконец-то запустил поиск, не вызвав у меня ошибки, но не могу найти текст, который явно присутствует. Мой код:
Function findSLINCalc(calc As String)
'Variables
Dim calcWkbk As Excel.Workbook
Dim slinCell As Excel.Range
Dim lCalc As Excel.Worksheet
Set calcWkbk = Excel.Workbooks("New COR Calculations.xlsx")
Set lCalc = calcWkbk.Sheets(1)
'Search the calculation spreadsheet for SLIN
If Not lCalc.Range("A1:A100").find(calc) Is Nothing Then
MsgBox "I found it!"
findSLINCalc = lCalc.Range("A1:A100").find(calc).Offset(1, 10).Value
Else
MsgBox "Nothing there!"
End If
End Function
Private Sub SLINTB_AfterUpdate()
findSLINCalc (Me.SLINTB.Value)
End Sub
Я вполне уверен, что неправильно вызываю функцию в своей подпрограмме. Несмотря на это, выполнение этого кода как есть только дает мне «Ничего там!» окно сообщения. Конечно, это даст мне другой, если он найдет что-то, верно?
Другая, возможно, соответствующая информация:
- Справочная рабочая книга будет отличаться по длине, но не формату или имени файла / местоположению .
- Строка, которую я ищу, будет частью объединенной ячейки (столбцы A + B).
Заранее спасибо!