В чем разница между Range.Parent и Range.Worksheet в VBA? - PullRequest
0 голосов
/ 17 мая 2018

Свойства .Parent и .Worksheet при использовании с диапазоном, похоже, ссылаются на тот же объект рабочего листа, где находится Range.

Например, обе эти строки возвращают одно и то же значение:

Debug.Print Selection.Parent.Name
Debug.Print Selection.Worksheet.Name

Есть ли разница между ними? Есть ли преимущества / недостатки у каждого метода?

1 Ответ

0 голосов
/ 17 мая 2018

Если вы не можете гарантировать, что Selection всегда является частью рабочего листа, не говорится, что Selection.Parent.Name даст тот же результат, что и Selection.Worksheet.Name. Если это «внутри» других типов объектов (например, диаграмм или графики), результат может быть совершенно другим - вам нужно провести некоторое тестирование.

Итак, Selection.Worksheet.Name является более точным (и, как кто-то указал в комментариях, потенциально быстрее в исполнении). Но если вы не можете гарантировать, что Selection будет ссылаться на Worksheet, это может вызвать ошибку или привести к неожиданному результату.

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