.Parent
和 .Worksheet
属性与范围一起使用时,似乎引用 Range
所在的同一工作表对象.
例如,这两行返回相同的值:
Debug.Print Selection.Parent.Name
Debug.Print Selection.Worksheet.Name
两者有区别吗?每种方法都有优点/缺点吗?
最佳答案
除非您能保证 Selection
始终是工作表的一部分,否则 Selection.Parent.Name
不会产生与 Selection.Worksheet 相同的结果.名称
。如果它位于其他类型的对象(例如图表或图形)中,结果可能会完全不同 - 您需要进行一些测试。
因此,Selection.Worksheet.Name
更准确(并且,正如有人在评论中指出的那样,执行速度可能更快)。但是,如果您不能保证 Selection
将引用 Worksheet
,则可能会触发错误或产生意外结果。
关于vba - VBA中 'Range.Parent'和 'Range.Worksheet'有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50381793/