vba - VBA 中的“Range.Parent”和“Range.Worksheet”有什么区别?
问题描述
.Parent
和属性,当与范围一起使用.Worksheet
时,似乎引用所在的同一工作表对象Range
。
例如,这两行都返回相同的值:
Debug.Print Selection.Parent.Name
Debug.Print Selection.Worksheet.Name
两者有区别吗?每种方法都有优点/缺点吗?
解决方案
除非您可以保证Selection
始终是工作表的一部分,否则不会说Selection.Parent.Name
会产生与Selection.Worksheet.Name
. 如果它“在”其他类型的对象(例如图表或图形)中,结果可能会大不相同——您需要进行一些测试。
所以,Selection.Worksheet.Name
更准确(并且,正如有人在评论中指出的那样,执行速度可能更快)。但是,如果您不能保证Selection
要引用 aWorksheet
它可能会触发错误或产生意外结果。
推荐阅读
- react-native - 如何防止我的 ImageBackground 在 React Native 中调整大小?
- python - ImportError:没有名为 flask_restful 的模块
- javascript - 是什么导致我的每个循环中出现 Uncaught TypeError?
- sql - 如何在 Moodle 中运行自定义 SQL 查询?
- jenkins - 詹金斯管道s3文件下载
- php - 如何在 laravel 中的 Controller 中绑定角色中间件
- git - git hooks - 获取 git commit id
- angular - Angular 6 build --prod - /dist 7x 大小的 /src。听起来对吗?
- html - 是否有执行此布局的 2d for 循环?像捷径一样
- eloquent - 如何从 laravel 中删除模型的所有关联关系模型记录?