VBA excel公式计算?

在这里输入图像说明


大家好,我是新的vba请帮助我。 我有一张如图所示的桌子。 “天”列是公式列。 公式很简单,就是实际datedate的差别。 但实际date出现在范围(“D5”)的另一个工作表(Sheet2)中。 如何以编程方式分配此公式。 Worksheets("Sheet1").Range("E2:E10").FormulaR1C1 = "=" & Worksheets("Sheet2").Range("D5").Value & "-Sheet1!RC[-1]"Worksheets("Sheet1").Range("I6:I10").FormulaR1C1 = "=Sheet2!R[5]C[4]Sheet1!RC[-1]" unfornately都给出错误的值。 谢谢。

您可以使用DATEDIF函数来计算两个date之间的差异:

 =DATEDIF(Sheet2!D5,Sheet1!E2,"D") 

您将不得不复制和修改该列的公式,因为这应该适用于第一个单元格。

更新:

使用VBA,你可以使用下面的,这应该与你的上面的数据集一起工作:

 Worksheets("Sheet1").Range("E2:E10").FormulaR1C1 = "=DATEDIF(""" & Worksheets("Sheet2").Range("D5") & """,Sheet1!RC[-1],""D"")" 

如果公式来自另一张表格,您仍然可以引用当前表格上的数据。

使用R1C1的公式如下:

范围(“E2”)。FormulaR1C1 =“= Today() – R [0] C [-1]”

在电子表格中添加数字:

Range(“E2”)。Value = DateDiff(“d”,Range(“D2”),Now())

更新:

对于多个值:

 Worksheets("Sheet1").Range("E2:E10").FormulaR1C1 = "=Today() - R[0]C[-1]"