Excel中工作表函数和VBA模块的移植方案

Excel中工作表函数和VBA模块的移植方案,vba,excel,migration,worksheet-function,Vba,Excel,Migration,Worksheet Function,背景: 我目前正在进行一个大型excel工作簿的迁移项目,该工作簿包含1张原始数据和大约60张由数据生成的表格和图形 工作表由Excel中工作表函数和VBA模块的混合方法生成。 VBA中的方法是标准的stuff循环、if语句、类、子方法、函数等 目标:我的任务是尽可能多地将所有方法迁移到一个地方。 即,将所有方法制作成VBA模块或插入所有工作表中的工作表函数 所有这些都将在将来再次被迁移,但这次迁移到C。当前的迁移意味着为这一步做准备 迁移的目标是将所有方法收集到一个地方。这将改进结构,使exc

背景: 我目前正在进行一个大型excel工作簿的迁移项目,该工作簿包含1张原始数据和大约60张由数据生成的表格和图形

工作表由Excel中工作表函数和VBA模块的混合方法生成。 VBA中的方法是标准的stuff循环、if语句、类、子方法、函数等

目标:我的任务是尽可能多地将所有方法迁移到一个地方。 即,将所有方法制作成VBA模块或插入所有工作表中的工作表函数

所有这些都将在将来再次被迁移,但这次迁移到C。当前的迁移意味着为这一步做准备

迁移的目标是将所有方法收集到一个地方。这将改进结构,使excel工作簿更容易查看

我的主要问题是:将方法迁移到VBA模块或作为工作表函数,最明智的选择是什么

甚至可以将所有内容迁移到工作表功能吗? 工作表函数contra VBA模块的限制是什么

请给我反馈,如果你需要进一步澄清的任务。
提前谢谢

根据我的经验,工作表函数无法在VBA中完成所有可能的操作,因此我很可能建议您采用VBA路线。工作表函数通常比较容易转换为VBA代码,因为您可以录制宏,而不是最简洁、最快的方式,但可以完成工作。如果电子表格中的行数或列数未知,如果数据正在更改,我尤其希望使用vba,因此,您可以使用诸如lastrow和lastcolumn之类的工具,这样您就不必不断更改公式范围等。

如果您真的想将所有内容移动到一个位置,那么VBA而不是WSF似乎是答案,因为不是所有可以在VBA中完成的事情都可以在WSF中完成。不过,这仍然是一个“视情况而定”的问题:不太适合这样做。你认为这是什么意思,视情况而定?在我看来,WSF为简单的操作提供了快速的结果,除此之外别无其他。你同意吗?谢谢你的回复。这取决于你的问题是否包含了对什么是最好的事情做出全面判断所需的所有信息。如果不知道工作簿的具体功能是什么,谁在使用它,参与修改工作簿的人员的相对优势,迁移到C的目的是什么,等等,那么任何答案都只是猜测。主要问题是,当excel中的最佳方法是在适当的情况下同时使用VBA和WSF时,您的问题会呈现一个非此即彼的场景。