Требуется объект или переменная объекта или ошибки блока - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь использовать VBA для объединения данных из нескольких различных диапазонов поиска для сценариста SQL. На этом этапе я пытаюсь определить, имеет ли значение, которое я ищу, соседнюю ячейку с указанным значением c. Я пробовал несколько итераций. Мое последнее из них следующее:

   Dim r As String
    With Worksheets(12).Range("q2:R80")
    r = Cells(.Find(u(0, 1).Row, 18)).Value
    End With

Я пробовал с и без выражения «С», а также с и без «.» перед методами и свойствами, с и без ".Value" и независимо от того, какую комбинацию я использую, я получаю объектную ошибку того или иного рода. Я знаю, что упускаю что-то очевидное, но Google не помог.

1 Ответ

1 голос
/ 30 марта 2020

Ваши круглые скобки выглядят не так:

With Worksheets(12).Range("q2:R80")
    r = Cells(.Find(u(0, 1).Row, 18)).Value
End With    

похоже, что должно быть:

With Worksheets(12).Range("q2:R80")
    r = Cells(.Find(u(0, 1)).Row, 18).Value
End With    

Но это все еще проблематично c, потому что предполагается, что Find преуспел * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 10 *

With Worksheets(12).Range("q2:R80")
    Dim foundRng as Range
    Set foundRng = .Find(u(0,1)) '<~ you really should specify the other parameters of Range.Find

    If Not foundRng Is Nothing Then
         r = Cells(foundRng.Row, 18).Value '<~ make sure to qualify the worksheet the Cells are on
    End If
End With
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...