VBA从另一列中的日期中减去今天的日期并返回一个数字

标签 vba excel date subtraction

我希望你能帮忙。我在下面有一小段代码。我遇到的问题是我试图从 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

一如既往,非常感谢任何和所有帮助。

图一

enter image description here

最佳答案

代替

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/

相关文章:

excel - 使用 Excel VBA 宏查找并替换 Word 中的页脚文本

vba - Excel VBA反向for循环步进超出最终值

excel - 确定应用程序是否正在与 Excel 一起运行

excel - 属性 "RowSource"无法在组合框中显示

vba - 将集合添加为另一个集合中的项目 - 类 - Excel VBA

excel - 如何在 Excel 中显示命名范围内的名称?

excel - 无损失地汇总重复数据

java - 只有日期的日历,没有日历的时间?

javascript - 在 AngularJs 中解析日期

excel - 过滤表中的日期值