От Microsoft , метод Range.Find:
Возвращаемое значение:
Объект Range, представляющий первую ячейку, в которой находится эта информация найдено.
Однако свойство Range.Address :
Возвращает строковое значение, представляющее ссылку на диапазон на языке макроса.
Возможно, один из способов думать об этом заключается в том, что, явно используя .Address
, вы запрашиваете строку. Вы не просите Объект (который Range
). Если бы вы были, вы бы правильно объявили свой объект и просто пропустили .Address
.
И, конечно, вы всегда можете получить свойство Address
из переменной Range
... Dim findRng as Range // Set findRng = Worksheets(1).Cells.Find("something") // debug.print findRng.Address
.
Теперь вы также можете получить доступ к всем другим Range
свойствам , поэтому, когда мне лично нужно использовать Find
, я склонен установить его как Range
, поэтому я не буду позже, если я захочу, придется «работать задом наперед», например, выделите жирным шрифтом ячейку и т. д. c.