我希望你能帮忙。我在下面有一小段代码。我遇到的问题是我试图从 C 列中的日期中减去今天的日期(参见图 1),然后在 D 列中返回一个数字结果,然后在 D 列中继续这个公式,直到列中没有任何值C 减去。
所以今天的日期是 09/03/2017 我想从 C2 03/07/2017 中的日期中减去这个日期,在 D2 中给我 2,然后通过 D 列继续,直到 C 有一个空白单元格。
被窃听的代码是 Range("D2").Formula = DateDiff(C2, Date, "d")
我得到的错误是运行时错误 13 类型不匹配。
它所属的较大的代码是
Public Sub Activate_Sheet()
Worksheets("In Progress").Activate
Columns.AutoFit
Range("N:N").EntireColumn.Delete
Range("D1").Value = "# days open"
Range("D2").Formula = DateDiff(C2, Date, "d")
End Sub
一如既往,非常感谢任何和所有帮助。
图一
最佳答案
代替
Range("D2").Formula = DateDiff(C2, Date, "d")
利用
Range("D2").Formula = "=DAYS(TODAY(),C7)"
.Formula
必须是一个公式,因为您将其写入单元格(对于英文 Excel 版本)。如果您有非英语(本地化)Excel 版本,则可以使用 .FormulaLocal
用您的本地化语言编写公式。
关于VBA从另一列中的日期中减去今天的日期并返回一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42691855/