excel - 在 VBA 代码中使用命名单元会减慢宏的速度吗?
问题描述
在 VBA 代码中使用命名单元会减慢宏的速度吗?
我假设如果您在 VBA 代码中使用一个或两个命名的单元格/范围,它不会对其执行时间产生很大影响。但是,我很好奇命名单元格/范围的过度使用是否会减慢宏的速度。
解决方案
命名范围对电子表格的影响:
我找到了以下信息。
Named Ranges:
1. allows users to save time
2. enhances automated data analysis
But:
3. increases the size of files and significantly
slows down basic Excel functionality.
参考:https ://medium.com/@rzacharia/excel-named-ranges-the-good-and-the-really-ugly-894e04fb16e5
命名范围对 VBA 执行的影响:
这取决于您如何使用它。例如,如果您创建了大量的命名范围并在循环中调用它们,那么它会降低性能。因为每次excel都需要解析名称。
如果您使用 Range("A1:A30") 而不是命名范围,那么与命名范围相比,Excel 不需要执行任何额外的操作。
为了测试这一点,我创建了一个命名范围(A1:A30)并以不同的计数在循环中调用它,这就是我发现的(提到的时间以秒为单位)。
NamedRange Range Loop Count
1.64 1.57 100000
3.3 3.17 200000
8.38 7.9 500000
结论:
1. If you are using Named Range with limited number and not using in loop with larger count then it may not create any issue.
2. It may slow down the performance
2.1 if you are using Named Range in loop with large count.
2.2 if you are using large number of Named Ranges.
希望这会帮助你。
推荐阅读
- powershell - 绕过/接受来自 wget 的 Javascript 提示
- python - 如何总结python中的float列表?
- java - javax.xml.crypto.dsig.XMLSignatureException: java.security.SignatureException: 签名长度不正确:得到 128 但期待 512
- c# - Umbraco - System.Exception:Lucene.Net.Index.CorruptIndexException
- mysql - 获取组内总和个人的总和
- python - 计算方差的算法无法正常工作
- python - Matplotlib 的 rstride、cstride 在 plot_surface 3D 绘图中弄乱了颜色图?
- azure-devops - 如何使用 Azure Devops REST API 获取 AD 组的描述符标识符
- django - 使用 Django-jet 在管理员的 change_list 视图中显示布尔字段时显示图标
- ios - 如何在 iOS13 中删除 NavigationBar 边框/分隔符?