使用 Microsoft Excel 2013。
我正在创建一份计算表,用于快速评估租赁物业的指标。我有一张名为的工作表,其中CALCULATIONS
包含多项计算和多项输入 - 所有这些都与一处物业有关。最后,我得到了一些输出(利润、投资回报率等...)。全部在同一张工作表上。
我还有一张名为的工作表,DATA
其中包含几列数据(这些是工作表的输入CALCULATIONS
。DATA
工作表有很多行,我感兴趣的每个属性,我手动将数据写入该属性的每一列。将其视为我的数据库。
基本上,我想CALCULATIONS
根据DATA
工作表中的每一行输入来计算工作表的输出。我经常更改数据表中的数据,并且每次都想重新运行此操作,以便在一个地方(即数据表中)查看新的输出。
我该如何实现这一点?我假设宏是实现这一目标的方法,但不幸的是,我在 Google 上找不到类似的问题,因此我在这里寻求进一步的说明和帮助。
谢谢。
答案1
您可能希望考虑使用 UDF 在 VBA 中构建计算,而不是将每个属性单独提供给计算表(然后将计算结果写回数据表)。然后您可以在数据表的每一行中使用这些用户定义函数。
另外,您确定需要计算表才能得出结果吗?也许计算表可以直接在数据表中转换为单独的公式。
在澄清评论后进行编辑:
你需要一个宏
- 对数据表中的所有行运行循环,对每一行执行以下操作:
- 将当前行的相关单元格复制到计算表中
- 确保计算结果得到刷新
- 将计算表中的相关单元格复制到数据表的当前行中
- 对数据表中的下一行重复相同的操作。
为了掌握执行此操作所需的代码,您可以首先让宏记录器跟踪您用来将数据从数据表中的一行复制到计算表的操作,重新计算,然后将结果复制回数据表。
您需要多少帮助取决于您的 VBA 技能。我建议您将其分解为几个问题,一次解决一个问题。了解更多有关文件的数据结构也会有很大帮助,因此通过文件共享服务共享文件可能是一个好主意。