大家好,我是vba的新手,请帮助我。我有一张如图所示的桌子。天数列是一个公式列。公式很简单,就是Actual Date和Date的区别。但是实际日期出现在另一个工作表 (Sheet2) 的 Range("D5") 处。如何以编程方式分配此公式。我试过了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]"
不幸的是,两者都给出了错误的值。谢谢。
问问题
1186 次
2 回答
1
您可以使用DATEDIF函数来计算两个日期之间的差异:
=DATEDIF(Sheet2!D5,Sheet1!E2,"D")
您必须为该列复制和修改此公式,因为这应该适用于第一个单元格。
更新:
使用 VBA,您可以使用以下内容,它应该适用于您的上述数据集:
Worksheets("Sheet1").Range("E2:E10").FormulaR1C1 = "=DATEDIF(""" & Worksheets("Sheet2").Range("D5") & """,Sheet1!RC[-1],""D"")"
于 2013-02-26T10:14:33.117 回答
1
如果公式来自另一张表,您仍然可以引用当前表中的数据。
使用 R1C1 和公式:
Range("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]"
于 2013-02-26T10:18:41.247 回答