屏幕更新效果

2024-02-05

我一直在测量代码执行时间,以衡量本地执行脚本和在服务器上执行脚本之间的差异。有一次我忘记禁用screen updating庆幸的是,在更详细地考虑之前,我对闪光灯不敏感:

当我第一次开始使用时VBA我一直认为它只是被使用,这样就不会吓到最终用户,让他们认为他们的电脑即将崩溃。当我开始阅读更多关于提高代码效率的内容时,我明白了它的用途,但效果有多大screen updating你的代码真的有执行时间吗?


如果代码与 Excel 交互的方式导致屏幕内容发生更改,则关闭屏幕更新只会影响执行时间。屏幕变化量越大,影响就越大。其他发布的答案恰当地证明了这一点。

其他可能影响执行时间的应用程序设置包括计算和事件处理。使用此代码模板作为起点(错误处理程序确保这些属性在子程序结束时重新打开,即使出现错误)

Sub YourSub()
    On Error GoTo EH

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False

    ' Code here

CleanUp:
    On Error Resume Next
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
Exit Sub
EH:
    ' Do error handling
    Resume CleanUp
End Sub

存在其他技术可以进一步提高执行速度。

最有用的包括

  1. Avoid Select, Activate and ActiveCell/Sheet/Workbook越多越好。相反,声明并分配变量并引用它们。
  2. 当引用大范围时,将Range数据复制到变体数组中进行处理,然后将结果复制回范围。
  3. Use Range.SpecialCells, Range.Find and Range.AutoFilter限制引用的单元格数量。

SO 上有很多这些技术的例子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

屏幕更新效果 的相关文章

  • 将ADODB二进制流转换为字符串vba

    我有以下问题 我有一个存储在服务器上的 CSV 文件 但它有 3 个字符作为分隔符 我想从 URL 加载数据并使用 作为分隔符将数据填充到 Excel 页面的列中 到目前为止 我找到了使用 ADODB 记录集从网站加载文件的代码 但我无法进
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • 什么是大O表示法?你用它吗? [复制]

    这个问题在这里已经有答案了 什么是大O表示法 你用它吗 我想我错过了这门大学课程 D 有人使用过它并给出一些现实生活中使用它的例子吗 也可以看看 八岁孩子的大O https stackoverflow com questions 10716
  • 使用 MID、LEN 和 FIND 函数提取单元格文本的某些部分?

    我有一份 Excel 作业 但我陷入了最后部分 我被要求使用 MID LEN 和 FIND 来提取单元格内的特定字符串 我非常了解每个人的工作方式 将这三者结合起来并让它们发挥作用是我遇到的问题 我需要将城市与地址的其余部分分开 然后将其显
  • 当使用公式生成超链接时,VBA 打开 Excel 超链接不起作用

    使用公式生成的 Excel 超链接似乎存在错误 我使用的是 Excel 2010 我有一个电子表格 其中的单元格包含 URL 我的目标是执行以下两件事 将这些单元格变成超链接 创建一个键盘快捷键来打开这些超链接 这样我就不必使用鼠标了 为了
  • VBA中的字符串是可以迭代的数组吗?

    VBA中字符串是数组吗 例如 我可以像在 C C 中那样迭代它吗 做这样的事情 char myArray 10 for int i 0 i lt length i cout lt lt myArray i VBA 中的等价物是什么 它的行为
  • Rust 编程竞赛中最快的惯用 I/O 例程?

    我的问题已部分得到解答 因此我根据从评论和其他实验中学到的知识对其进行了修改 总之 我想要一个用于编程竞赛的快速 I O 例程 其中使用单个文件解决问题 无需外部包 它应该从一个以空格分隔的标记序列中读取BufRead 标准输入或文件 标记
  • Excel工作簿关闭后反复打开

    我使用了 Application ontime 方法来调度一些宏 关闭工作簿后 它会一次又一次地打开 为了解决这个问题 我在工作簿上设置了另一个事件 BeforeClosed 现在它显示运行时错误 1004 Object Applicati
  • 为什么n++执行速度比n=n+1快?

    在C语言中 为什么n 执行速度快于n n 1 int n n int n n n 1 我们的老师在今天的课堂上问了这个问题 这不是家庭作业 如果您正在开发一个 石器时代 编译器 的情况下 石器时代 n比n 比n n 1 机器通常有incre
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • 执行时间为零的循环

    是否有可能有一个执行时间为零的循环 我认为即使是空循环也应该有执行时间 因为存在与之相关的开销 是的 根据假设规则编译器只有义务模拟代码的可观察行为 因此 如果您有一个没有任何可观察行为的循环 那么它可以完全优化 因此实际上执行时间为零 E
  • VSTO 替代方案 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 VSTO 有哪些替代方案 ManagedXll 能做什么而 VSTO 不能 你什么时候使用其中一个而不
  • scipy.optimize on pandas dataframe

    我试图搜索它 但结果很差 有人可以向我解释一下如何在 Pandas DataFrame 上执行 optimize minimize 以便最小化 DataFrame 中的类别和结果列之间的错误 考虑这个例子 import pandas as
  • 为什么将模块级代码放入函数中然后调用该函数在Python中速度更快?

    在亚历克斯 马尔泰利的回应中使 Python 脚本面向对象 https stackoverflow com questions 1813117 making a python script object oriented 他提到在 Pyth
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • 是否存在用于开放 xml Excel 编辑的良好包装类和/或库?

    我正在寻找一个不错的库 用于在我们的 Windows 服务器上编辑和 或生成 Excel 文档 我觉得 open xml sdk 可能是可行的方法 但对我来说 学习曲线似乎很陡峭 而且我们的开发时间有限 我认为编辑 Excel 文档不应该那
  • 跳过行:将数据从 SSIS 导出到 Excel 文件

    我正在尝试使用 SSIS 将数据从 SQL Server 数据库导出到 Excel 文件中 我希望从第 6 行插入数据 第 5 行有标题 我可以映射标题名称Excel 目标编辑器 通过编写 SQL 命令到 SQL 表头 SELECT FRO
  • 在 powershell 中打开 Excel 时出错

    我需要用以下命令打开 Excel 文件CorruptLoad来自 powershell 脚本的参数 但是当我尝试做到这一点时 出现错误Exception calling Open with 15 argument s open method
  • Access / Word 2010 VBA 邮件合并尝试打开 [文件夹名称].mdb 而不是 ACCDB 源

    我们正在尝试从 Access 中自动执行邮件合并过程 单击按钮后 VBA 将运行指定当前数据库 accdb 作为数据源并运行 SQL 具体代码如下 Set up Word Dim objWord As Object Set objWord

随机推荐

  • 如何计算Python中两个日期之间一年中的天数

    例如 date 1 1 january 2000 date 2 17 november 2006 我想知道2000年 2001年 2006年日期1和日期2之间有多少天 所以我需要返回类似这样的东西 无论它是否在列表中或其他东西中 2000
  • 启动时间慢

    有什么办法可以加快Groovy的启动时间吗 除非按照建议使用某种单独运行的 Groovy 进程 我不太关心执行时间 但缓慢的启动使我无法在 Groovy 中进行开发 在我的机器上使用 Groovy 和 Ruby 启动和运行空脚本之间的简单比
  • gwt使用jquery效果可以吗?

    在我的 gwt 中 我有一个像下面这样触发的按钮来创建新的小部件 UiHandler buttonfire void addNewWidget ClickEvent event htmlPanelHolder add new MyCusto
  • 将参数传递给槽

    我想用一堆 QActions 和 QMenus 覆盖 mouseReleaseEvent connect action1 SIGNAL triggered this SLOT onStepIncreased connect action5
  • Parallel.For 与 BigInteger 计算输出不同于 For 循环

    我有以下循环运行从 base95 到 base10 的转换 我正在处理几千位数字 因此需要 BigIntegers inst是base95字符串 Parallel For 0 inst Length x gt result BigInteg
  • 如何在web.xml和log4j.properties中配置log4j输出文件路径?

    我开发了一个网络应用程序 可以在其中注册员工 My web xml
  • 从 Jackson 获取未知字段列表

    我有一个 JSON 架构和一个与该架构匹配的 json 字符串 但它可能有一些额外的字段 如果我不添加这些字段 杰克逊将抛出异常objectMapper configure DeserializationConfig Feature FAI
  • PDO 数据库访问 WHERE title = $title

    我正在尝试学习使用 PDO 而不是 MySQLi 进行数据库访问 但在从数据库中选择数据时遇到问题 我想使用 STH DBH gt query SELECT FROM ratings WHERE title title ORDER BY d
  • ios 5 上的 NSDateFormatter - 还有其他使用方法吗?

    我有一段代码在 iOS 4 3 5 之前一直有效 现在在 iOS 5 中不起作用 Example of date I m using Mon 31 Oct 2011 15 57 55 BRST NSDateFormatter formatt
  • 当数据集更改时,在闪亮的应用程序中动态显示列名称会闪烁错误

    我有一个闪亮的应用程序 我希望允许用户根据一组上传的文件选择数据集 然后指定要从所选数据集中显示的列 如果我选择某些列然后切换数据集 则会闪烁错误并输出到控制台 指出在应用程序切换数据集并正确显示之前所选列未知 然而 在我的完整应用程序中
  • Font Awesome 带有 easyAutocomplete 插件

    我有一个表单 我想在其中显示输入文本字段并在同一行上提交 输入文本字段有两个 FontAwesome 图标 我想在文本字段内显示它们 当我不使用简单的自动完成插件时 我可以根据需要设置表单样式 但是当我激活轻松自动完成 http easya
  • 如何从 Firebase 中推送的数据中获取价值?

    在我的 firebase 中 我存储了问题及其答案 每个答案都有一个 id 它是从 push 获得的 但我无法显示已回答问题的所有用户的列表 请帮忙 这是代码 ListView listView ArrayList
  • 如何组合两个 LPCWSTR?

    我有两个变量LPCWSTRs 我想创建一个新变量 该变量将具有第一个和第二个变量的值 我尝试过这个 但没有成功 LPCWSTR d L sd LPCWSTR f L f LPCWSTR df d f 当我尝试这样做时 我收到此错误 1 In
  • myisam 表上的外键替代方案?

    我正在开发一个需要使用外键的网站 但是我已经搜索遍了 共享主机不支持innoDB 我正在使用 MyISAM 引擎 有没有使用外键的替代方法 我需要的 table image image id PK table ratings rating
  • 使用 KNN 分类器进行数字识别之前的预处理

    现在我正在尝试使用 OpenCV 创建数字识别系统 WEB上有很多文章和例子 甚至在堆栈溢出 https stackoverflow com questions 9413216 simple digit recognition ocr in
  • 无法安装 Subversive SVN Team Provider

    当我尝试从 Eclipse Marketplace 或其项目站点 安装 Subversive SVN Team Provider 时 出现以下错误 The following solutions are not available Subv
  • WordPress 按标签查询相关帖子

    我正在尝试查询与 WordPress 中当前查看的帖子具有相同标签的帖子列表 我认为如果我可以查询当前帖子的标签列表 将其传递到一个变量中 然后将该变量传递到 query posts 参数中 它就可以完成工作 它似乎适用于帖子中的标签之一
  • CSS 填充简写声明中的反斜杠

    Qq com 网站有一个规则集 其中有两个填充声明 这看起来有点奇怪 我的问题是 11px 0部分做什么 这与覆盖第一个填充声明有关吗 我理解斜线在以下情况下的使用 css 样式声明中的 正斜杠 https stackoverflow co
  • 在 pandas to_csv 方法中保留列顺序

    pandas 的 to csv 方法不保留列的顺序 它选择按字母顺序排列 CSV 中的列 这是一个错误 已被报告并应该在版本 0 11 0 中得到纠正 我有0 18 0 import pandas as pd df pd DataFrame
  • 屏幕更新效果

    我一直在测量代码执行时间 以衡量本地执行脚本和在服务器上执行脚本之间的差异 有一次我忘记禁用screen updating庆幸的是 在更详细地考虑之前 我对闪光灯不敏感 当我第一次开始使用时VBA我一直认为它只是被使用 这样就不会吓到最终用