在VBa中使用DateAdd时溢出或除以零运行时错误

时间:2017-01-18 15:56:21

标签: excel vba excel-vba

在VBA中使用Scrollpane时出现以下错误。 DateTimeFormatter yyyyMMddFormatter = DateTimeFormat.forPattern("yyyy-MM-dd") yyyyMMddFormatter.print(fromDate) DateAdd(更常见)

Runtime error: 11 Division by Zero
从格式为Runtime error: 6 Overflow的单元格(" B6")中检索

Dim todDate As Date Dim currDt As Date todDate = Format(ActiveWorkbook.Sheets("Sheet1").Range("B6").Value, "mm/dd/yyyy") currDt = Format(DateAdd("d", 20, todDate), "mm/dd/yyyy") ----> Runtime Error HERE 。我还干了不使用todDate函数来计算currDt,但也没有成功。知道为什么会这样吗?

谢谢

1 个答案:

答案 0 :(得分:2)

您需要将日期传递给dateadd函数。格式将返回一个字符串,你也不必要地重复格式。试试下面的内容。

Dim todDate As Date
Dim currDt As string

todDate = ActiveWorkbook.Sheets("Sheet1").Range("B6").Value

currDt = Format(DateAdd("d", 20, todDate), "mm/dd/yyyy")