免费的 VB6/VBA 分析器和 Excel 最佳实践

2024-01-12

我们有很多通过 VBA 和 Excel 生成的报告。只有一小部分报告是实际计算 - 大部分工作是 SQL 调用和单元格的格式化/写入。其中最长的需要几个小时,大多数每次大约需要 20-30 分钟。

VBA/Excel 代码插入 VB6 桌面应用程序使用的 dll 中 - 所有 sql 调用都是在这里进行的。虽然我确信这里还有改进的空间,但我担心的不是这个 - 桌面应用程序相当敏捷。

有两个 VBA 函数被大量使用:它们称为 GetRange 和 SetupCell,它们几乎总是一起出现。 GetRange 函数是 Excel.Range 对象的包装器。它需要一张表和 4 个表示范围范围的值。它的主要用途是选择要编辑的单元格。似乎优化它的机会不大,但这是最好的方法吗?

它的合作伙伴是SetupCell。这需要一个 Excel.Range 对象、文本和有关单元格的十几个参数(字体、边框等)。这些参数中的大多数都是可选的布尔值,但同样,这似乎非常浪费。其中一些可以在死后设置,但另一些则取决于单元格中包含的值。

这些函数中包含相当多的代码,主要是 if 语句和工作不喜欢我发布它。

我想我有两个问题:有没有更好的方法,它是什么 and 是否有免费的探查器可以用来查看大部分时间是在这里还是在 dll 中?


对于一份报告来说,几个小时是荒谬的。

如果问题是 VBA,请购买“Professional Excel Development”(stephen Bullen、Rob Bovey 等人):这有一个名为 PerfMon 的免费 VBA 分析器。

如果问题是 Excel 计算,请参阅http://msdn.microsoft.com/en-us/library/aa730921.aspx?ppud=4 http://msdn.microsoft.com/en-us/library/aa730921.aspx?ppud=4

但我猜问题是与逐个单元引用事物相关的高开销:您应该始终一次在大块单元中工作。

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

免费的 VB6/VBA 分析器和 Excel 最佳实践 的相关文章

  • excel 2010刷新BackgroundQuery中运行时错误1004

    我正在尝试用 vba 编写一个脚本 用于将多个文本文件导入 Excel 一张纸 然后将它们绘制在一张图表上 我面临一个问题刷新后台查询命令并出现 1004 运行时错误 我怎样才能解决它 谢谢 埃亚勒 这是我的代码 Sub fring1 Di
  • Visual Studio 2022 - 编译旧应用程序时出错

    我们正在尝试在 Visual Studio 2022 中使用 VB6 32 位应用程序 编译 2002 年以来非常旧的应用程序 我们需要调试此应用程序并能够在 Windows 10 计算机上运行此应用程序 编译时 我们发现以下错误 这似乎是
  • 如何在 Excel 中对一组数据进行排序以匹配另一组数据?

    我有一个不按字母或数字顺序排列的数据列表 我想对同一日期的第二个列表进行排序以匹配第一个列表 我无法更改数据的顺序 我的目标是将第二组中的附加数据粘贴回第一个数据集中 DATA SET A DATA SET B 22350 BH160 10
  • 在合并的单元格中选择、插入照片并将其居中

    我是一名研发面包师 正在为我的团队制作食谱模板 模板中有照片 但我需要轻松地允许他们单击一个按钮 打开照片的文件选择器 然后将该照片放在合并的单元格中 我其实不太擅长做这个 Sub InsertPhotoMacro Dim photoNam
  • Excel FILTER() 对于空白单元格返回 0

    我怀疑以前有人问过这个问题 但我找不到 FILTER 即使指定了返回字符串 通常也会为空白行返回 0 Using filter 我经常收到空单元格的 0 返回值 假设 A 列中有 6 行数据 abc xyz abc xyz abc If I
  • VBA 中 AND 函数如何工作?

    如果这是一个愚蠢的问题 我很抱歉 但是 Excel VBA AND 函数是否检查其中的每个条件然后继续 或者在第一个 FALSE 条件处停止而不检查其他条件 我想知道出于优化目的 但到目前为止在网上没有找到任何相关信息 提前致谢 示例 如果
  • VBA 中的匈牙利语好吗?

    我在 Net 中不使用匈牙利语 str int 前缀 但我仍然发现它在 VBA 中很有用 因为在 VBA 中很难看到类型 这很糟糕吗 不必要 也许我错过了一些东西 我真的很感激任何反馈 我想知道有一段时间了 谢谢大家 我想说 这种匈牙利符号
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • VBA ByRef 参数类型不匹配

    最初在我的主代码部分中 我有一个丑陋的 if 语句 尽管它会运行丑陋 我决定将其设为我要调用的函数 这导致我收到错误 编译错误 ByRef 参数类型不匹配 我的假设是该函数需要正确引用 尽管我一直在阅读文档并且不明白为什么 gt 声明 Sh
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da
  • 在VBA中初始化全局变量

    在 Excel 2003 中 如何声明全局变量并仅在打开工作簿时初始化它们一次 我有一些由几个宏使用的参数 基本上是输入文件的路径 目前 我的代码如下所示 global path1 path2 as string sub initPaths
  • 在 PYTHON 中读取 EXCEL 时,“utf-16-le”编解码器无法解码字节

    我正在尝试读取不同语言 阿拉伯语 希腊语 意大利语 希伯来语等 的各种数量的 xls 文件 当我尝试调用 open workbook 函数时 出现如下所示的错误 不知道如何将格式设置为任何语言 Code book xlrd open wor
  • Android Excel CSV 的 MIME 数据类型是什么?

    我尝试了 text csv 甚至 application vnd ms excel 但 Excel 不会显示在选择列表中 很多其他应用程序也可以 void shareCsv Uri uri Context context Intent in
  • C# 无法将欧元符号打印到文件中(使用 Excel 打开时)

    我在使用 Web api 控制器的 get 方法时遇到问题 此方法返回一个 HttpResponseMessage 对象 该对象具有带有 csv 文件的 HttpContent 其中包含欧元符号 当该方法返回文件时 不会打印欧元符号 该方法
  • 如何使用 VBA 添加 MS Outlook 提醒事件处理程序

    我想扩展 MS Outlook 以便当弹出日历提醒时 我可以运行一个可以运行外部程序 如批处理脚本 的 VBA 挂钩 就我而言 我想将提醒 转发 到 Linux 桌面 因为我在这两种环境中工作 并且 Windows 桌面并不总是可见 我看到
  • 获取/发布到 RESTful Web 服务

    我需要从 VB6 对 RESTful Web 服务进行一些 GET 和 POST 操作 最好和最简单的方法是什么 您需要添加对 MSXML 库的引用 Dim sUrl As String Dim response As String Dim
  • 无法使用 VBA 代码从 Excel 连接到 Teradata - 无法通过网络访问 Teradata 服务器

    我一直在尝试使用 vba 代码从 Excel 连接到 Teradata 但收到以下错误 无法通过网络访问 Teradata Server 我已经能够从 Teradata SQL 助手成功连接 并且还成功 ping 通 Teradata 服务
  • 使用 VBScript 在日期字段值上选择错误的数据

    我有一张包含以下数据的表 现在 Excel 共有 36 个任务 每个任务有 4 列 第一个任务 即 Task1 名称将始终从 L 列开始 144 列描述了 36 个任务 现在我们需要按行进行检查 并需要检查 TNStart 开始日期 你们能
  • 使用 split 函数到数组中会导致编译错误:无法分配给数组

    我正在尝试使用split 函数根据给定名称字符串中的空格拆分名称 当尝试编译我在下面编写的代码时 出现编译错误 无法分配给数组 我几乎从这里复制了微软的示例 https support microsoft com en us kb 2662
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推

随机推荐

  • 在 32 位系统上使用 int64_t 而不是 int32_t 对性能有何影响?

    我们的 C 库当前使用 time t 来存储时间值 我开始在某些地方需要亚秒级精度 因此无论如何 那里都需要更大的数据类型 此外 在某些地方解决 2038 年问题可能会很有用 因此 我正在考虑完全切换到具有底层 int64 t 值的单个 T
  • c 赋值中的类型不兼容,指针有问题吗?

    您好 我正在使用 C 我有一个关于分配指针的问题 struct foo int bar char car SOME NUMBER this is meant to be an array of char so that it can hol
  • 带有多个下划线的文本

    我的应用程序是 它是一些在线文档 用户可以在其中对文本进行注释和下划线以供参考 现在这可以由多个用户完成 因此每个下划线需要有不同的颜色 所以基本的要求是我需要有一个下面有多个下划线的文本 下划线颜色也应该不同 我知道的困难方法是 我可以添
  • 自动连接信号与 GtkBuilder 但在 GTKmm 上

    In C 我可以使用以下代码自动连接信号 gtk builder connect signals builder NULL 如何执行此操作C with GTKmm 你不能使用Glade使用时连接您的信号gtkmm 您需要手动执行此操作 Gl
  • Cheerio:.text() 将所有元素的文本附加在一起

    下面的代码输出所有 p 标签staff member title附加的 let arr li staff directory department map item index gt arr push title p staff membe
  • 在没有显式 TestSuite 的情况下,不要在 Maven 和每个 IDE(Eclipse、IntelliJ...)中默认运行一类缓慢的 JUnit 测试

    我有一组非常慢的测试 需要一周的时间才能运行 他们实际上不间断地运行一些代码大约一周 当然 没有开发人员 甚至默认构建作业 愿意运行这些测试 只有特定的 单独的构建作业才有时间运行它们 所以默认情况下需要禁用这些测试 JUnit s 类别
  • 相机允许不起作用 android webview

    我正在尝试创建一个webview应用程序 我尝试添加对清单的访问权限 但它没有改变任何内容 在 chrome 浏览器上相机可以工作 我不明白我应该做什么 1 这是清单
  • Kubernetes 入口路由到 Nextjs 应用程序的问题

    所以我有一个有趣的用例 我在 Kubernetes 集群上运行多个微服务 我的应用程序使用 NextJS 对 next 路由进行内部调用 我的问题来自这样一个事实 我需要一种方法来区分服务及其对 next 文件的请求 因此 我实现了 Nex
  • 将抛出的异常更改为失败的简洁方法?

    有没有比以下更简洁的方法来将抛出的异常提升为失败 try die always CATCH default fail 这是莫里茨代码的更简洁版本 try something orelse fail
  • python程序崩溃后如何重新启动

    我有一个 python 脚本 它启动一个程序并自动执行它 不断处理新数据并保存到预设目录 永久运行 Python 脚本 在发生错误时记录错误并在崩溃时重新启动的推荐方法是什么 到目前为止我遇到过os execv并以此开始 import sy
  • 为什么从 void 函数模板返回时不会出现编译器错误?

    考虑 void f return 5 以上会引发错误 但为什么不是这个呢 template
  • 通过 .Rmd 在标头中插入标签

    我正在使用 Rstudio 创建 Rmd 报告 并且我希望能够将元标记插入到当 Rmd 被编织成 html 时 从文档上针织选项 http yihui name knitr options package options我想我可以设置标题选
  • 如何根据 R 中另一列中的值设置列值

    我正在尝试根据另一列中的值添加新列 基本上 如果另一列缺失或为 0 则将新值设置为 0 或 1 下面这段代码有什么问题吗 times nrow eachfile for i in 1 times eachfile SalesCycleN0
  • 带有先前获取参数的 HTML 表单 GET 方法

    我在页面上有一个带有获取参数的表单 index php PageID 12 然后 我在该页面上有多个表单 当用户选择详细信息时 它们会构建页面详细信息 我的问题是 当发布表单时 Get 会覆盖其他 get 参数 我可以使用 post 但只能
  • awk科学计数法输入

    我在让 awk 从文件中读取科学记数法时遇到了一些麻烦 这里是一些示例输入 Plane Turn Real Imaginary HOR 1 0 0000e 00 2 1885e 07 HOR 1 4 8481e 08 8 1221e 08
  • SML/NJ:如何使用哈希表?

    我真的很想在 SML 中创建一个哈希表 似乎 SML NJ 中已经有一个结构 问题是 我该如何使用它 我还没有完全理解如何在SML中使用结构 并且我读过的书中的一些非常基本的示例给了我错误 我什至不知道如何纠正 所以使用HashTable结
  • WebStorm - 未解析的变量或类型 - Sails / module.export [重复]

    这个问题在这里已经有答案了 尝试修复 JavaScript 中的 WebStorm v11 0 4 警告 很多unresolved variable or typeSailsJS 应用程序中自定义类型的错误 例如以下错误 我已经在 WebS
  • HttpURLConnection 在 Android 2.x 中工作正常,但在 4.1 中不行:未发现身份验证挑战

    我有一些典型的代码 它们使用 HttpURLConnection 来获取带有 URL 的文件 它们在 android 1 x 和 2 x 中运行良好 但在Android 4 1中失败了 我在网上搜索了一下 但几乎没有找到类似的信息 有人愿意
  • 从 Winform 迁移到 WPF

    我们使用 Winforms 和 Infragistic 框架 我们正在考虑迁移到 WPF 问题是我们在 Winforms 中已经有几个表单 对话框等 我们需要共同的外观和感觉 因此我们需要将所有内容迁移到 WPF 有没有迁移工具可以将 Wi
  • 免费的 VB6/VBA 分析器和 Excel 最佳实践

    我们有很多通过 VBA 和 Excel 生成的报告 只有一小部分报告是实际计算 大部分工作是 SQL 调用和单元格的格式化 写入 其中最长的需要几个小时 大多数每次大约需要 20 30 分钟 VBA Excel 代码插入 VB6 桌面应用程