【发布时间】:2018-03-14 15:02:23
【问题描述】:
在 myexcel 中,我想计算单元格中的单个日期与列 AS2:AS400 中的一系列日期之间的天数差异
还有天数的差异,我希望它在一个单独的列中。
我试图通过记录宏来理解代码并将其修改为两行代码。但我无法做到。任何人都可以将以下代码简化为简化程序。这样我就可以大量使用了。很容易将数据放在一列中,而不是为每个单元格编写数据。
Range("AS2").Select
ActiveCell.FormulaR1C1 = "=R[3]C[-42]-RC[-22]"
Range("AS3").Select
ActiveCell.FormulaR1C1 = "=R[2]C[-42]-RC[-22]"
Range("AS4").Select
ActiveCell.FormulaR1C1 = "=R[1]C[-42]-RC[-22]"
Range("AS5").Select
ActiveCell.FormulaR1C1 = "=RC[-42]-RC[-22]"
Range("AS6").Select
ActiveCell.FormulaR1C1 = "=R[-1]C[-42]-RC[-22]"
Range("AS7").Select
ActiveCell.FormulaR1C1 = "=R[-2]C[-42]-RC[-22]"
Range("AS8").Select
ActiveCell.FormulaR1C1 = "=R[-3]C[-42]-RC[-22]"
【问题讨论】:
-
示例:BA2=C5-AS2; BA3=C5-AS3; BA4=C5-AS4; BA5=C5-AS5
-
只是因为我看到你使用了很多
.Select,这是一种不好的做法,应该避免。你可能会阅读How to avoid using Select in Excel VBA,你的代码风格和性能会变得更好。 -
其实我是初学者。这是来自 Record Micro 的代码。我无法完全修改成一个完整的程序。
-
没关系,只是建议阅读,尤其是对于初学者。 (你看到下面编辑的答案了吗?)