мне нужно инкапсулировать Range.Find() в функции, так что имеет место следующее (R1, С1 и т.д., все определенные consts):VBA: Возвращение Range.Find результат() из функции
Function FindData(FindWhat As Variant) As Range
Dim TheR As Range
Set TheR = Range(Cells(R1, C1), Cells(R2, C2)).Find(FindWhat, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext)
FindData = TheR
End Function
Я передаю в строке, поэтому вызов, например:
Set FirstCell = Call FindData("MyValue")
VBA блюет на линии FindData = TheR
с сообщением Object variable or With block variable not set
. Я попытался добавить этот if-блок:
, но это не имеет никакого значения. Как я могу вернуть значение, которое дает Find()?
О, дух! Я должен был осознать это! Большое спасибо :) – skiaddict1
@ skiaddict1: У меня такая же проблема, когда я начал работать с объектами! ;) Пожалуйста, примите ответ, если ваша проблема решена;) – R3uK
Извините, я забыл, только что сделал это сейчас :) – skiaddict1