【发布时间】:2014-02-15 15:44:31
【问题描述】:
我试图制作一个 VBA 脚本来计算两个单元格之间的差异并将其放置在第三个单元格中。它应该在以下情况下工作:
- 选择了三个单元格。其中两个有值,第三个是空白的。
- VBA 脚本已运行。
- VBA 脚本计算具有值的单元格之间的差异。
- 差异记录在第三个(空白)单元格中。
正如您所理解的那样,这样的 VBA 脚本应该能够记录右侧单元格中的值与下方、左侧或上方的差异。
我是 vba 的新手,所以我的 vba 编码很大程度上依赖于讨论类似问题的论坛。但这一次我找不到解决办法。
【问题讨论】:
-
您是否总是想从较大的数字中减去较小的数字?还是左上角最值和右下角最值?还是与这两种情况相反?因为这些差异会对最终结果产生重大影响。或者你只是想要绝对的差异? (减去数字并且解决方案总是数字的正差)? Do you want an error message when the selection is NOT 3 cells, 1 of which is empty?
-
如果选择了超过 3 个单元格,您是否希望宏继续并将值放在左上角或右下角最空的单元格中,使用与左上角或右下角 2 个单元格的差异?
-
如果宏可以计算“角”单元格和“中间”单元格之间的差异,那将是最好的。像这里:从左到右选择 [100(角),20(中间),空白(角)] -> 100 - 20 = 80 而不是 20 - 100 = -80。如果保存公式也很好。 L42的答案效果很好,但结果保存为值。另一个好处是能够在不连续的范围内工作。例如,第一个选择是计算 (100, 20) 之间差异的值,第二个选择是计算差异的空白单元格。
标签: vba excel difference