2017-01-30 13 views
0

Я начал легко демо-записьНайти функции в VBA

Sub search() 
Range("B1:B7").Find("abc").Activate 
End Sub 

Я надеялся, что первенствует будут автоматически выбрать ячейку содержит значение «ABC» в нем, однако, я получил сообщение об ошибке, говорящем «объектных переменных или с переменной блока не установлена ​​". Пропустил ли я что-нибудь вообще, пожалуйста,

Цените его.

+0

Посмотрите на следующую ссылку. Он покажет правильный способ идентификации объекта и поиска. Затем просто добавьте Активировать для найденной ячейки. https://msdn.microsoft.com/en-us/library/office/ff839746.aspx –

ответ

2

"https://msdn.microsoft.com/en-us/library/office/ff839746.aspx"

Sub tester() 
    With Worksheets(6).Range("B1:B500") 
     Set c = .Find("Smith Jon Junior", LookIn:=xlValues) 
     If Not c Is Nothing Then 
      firstAddress = c.Address ' not required 
      c.Activate 
     else 
      msgbox ("Not Found") 
     End If 
    End With 
End Sub 
+0

Спасибо за примечания, действительно полезно –

+0

всегда явно указывать значения параметра 'LookAt' и' LookIn', иначе Excel будет использовать их установка на «последнем» 'Find()' использовании, даже если она сделана из пользовательского интерфейса Excel – user3598756