Range.Find значение из отдельной книги не работает - проверка кода - PullRequest
0 голосов
/ 28 января 2020

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

Я вполне уверен, что неправильно вызываю функцию в своей подпрограмме. Несмотря на это, выполнение этого кода как есть только дает мне «Ничего там!» окно сообщения. Конечно, это даст мне другой, если он найдет что-то, верно?

Другая, возможно, соответствующая информация:

  1. Справочная рабочая книга будет отличаться по длине, но не формату или имени файла / местоположению .
  2. Строка, которую я ищу, будет частью объединенной ячейки (столбцы A + B).

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...