生成所有 Excel 单元格公式的平面列表
我有一个用 VBA 和单元格公式编写的大型程序。我的任务是将其逆向工程到 C# winforms 中。我想首先,我需要在平面列表中查看所有单元格公式。
有现有的方法可以做到吗?提前致谢!
编辑:只是为了分享,在回答者的帮助下,我设法想出了这个:
I have a massive program written with VBA and cell formulas. I am tasked to reverse engineer it into C# winforms. I figured for a start, I need to see all the cell formulas in a flat list.
Any existing way to do it? Thanks in advance!
EDIT: Just to share, with the help of answerers, I managed to come up with this:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在 VBA(可轻松修改为 vbscript)中,您可以使用高效的变体数组快速将所有工作表中的所有公式转储到平面 txt 文件(更改您的路径以适应)。 代码源自我的文章
[更新部分 -您可以使用 SpecialCells 在 VBA 中快速隔离公式。如果工作表上没有公式,则需要进行错误处理,请参阅下面的 GetFormula
in VBA (easily modifiable to vbscript) you could quickly dump all formulae in all sheets to a flat txt file (change your path to suit) with an efficient variant array. code sourced from my article here
[Updated section - you can isolate formulae quickly in VBA by using SpecialCells. Error Handling is needed in case there are no formulae on a sheet, see GetFormula below
这是我用来获取工作表上包含公式的单元格列表的一些代码。看起来相当快。
Here is some code that I used to get a list of cells on a worksheet with formulas in them. It seems pretty fast.
组合键 ctrl+`(反勾)在查看值和公式之间切换,它不是一个平面列表,但很有用。
The key combination ctrl+` (back tick) toggles between viewing values and formulas, it is not a flat list, but it is useful.
在 brettdj 的帮助下,我现在成功地进行了四叉树搜索
With help from brettdj, I managed to whip up a quad tree search at the moment
我找到了这个答案,并尝试使用@Jake 的 C# 代码,但发现它很慢。
这是一个更快(且完整)的版本:
I found this answer, and tried to use the C# code by @Jake, but discovered it was slow.
Here is a faster (and complete) version: