【发布时间】:2018-05-18 00:37:00
【问题描述】:
.Parent 和 .Worksheet 属性与范围一起使用时,似乎引用了 Range 所在的同一个工作表对象。
例如,这两行返回相同的值:
Debug.Print Selection.Parent.Name
Debug.Print Selection.Worksheet.Name
这两者有区别吗?每种方法有优缺点吗?
【问题讨论】:
-
您必须通过 .Parent 测试 Worksheet object 原生的所有方法和属性来证明这一点,但我认为它们是可互换的;即 .Parent 具有它所指的所有属性和方法。
-
对于很多使用
Selection.Parent的操作(循环)会更慢,因为Excel需要确定Selection属于哪个集合:Charts,Names,Sheets,@ 987654331@,TableStyles,Windows,Worksheets,XmlNamespaces。使用Selection.Worksheet,它直接进入Worksheets集合 -
我能想到的唯一区别是当您使用
With时,IntelliSense 无法获取任何对象的父对象。各种对象 top Parent 是 Application,包括它自己很有趣。
标签: vba excel properties worksheet