Excel vba计算两个单元格中日期之间的天数,仅当两个单元格都有日期时才返回值

Excel vba计算两个单元格中日期之间的天数,仅当两个单元格都有日期时才返回值,excel,vba,Excel,Vba,我有下面的代码来计算两个单元格中日期之间的天数,但是如果列X没有日期,它将返回一个错误值。我希望代码只在X列中有日期时返回一个值,但我不知道怎么做。我是VBA新手。提前感谢您提供的任何帮助 Sub CalcDays() Dim LastRow As Long Dim wb As Workbook: Set wb = ThisWorkbook Dim ws As Worksheet Set ws = wb.Sheets("Sheet2") LastRow = Cells.Find("*", Se

我有下面的代码来计算两个单元格中日期之间的天数,但是如果列X没有日期,它将返回一个错误值。我希望代码只在X列中有日期时返回一个值,但我不知道怎么做。我是VBA新手。提前感谢您提供的任何帮助

Sub CalcDays()
Dim LastRow As Long
Dim wb As Workbook: Set wb = ThisWorkbook
Dim ws As Worksheet
Set ws = wb.Sheets("Sheet2")

LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

With Range("AA2:AA" & LastRow)
    [AA:AA] = [X:X-Z:Z]
End With

End Sub

你可以这样做:

[AA:AA] = [if(X:X="", "", if(Z:Z="", "", X:X-Z:Z))]

哇!在使用之前,我从未见过
[AA:AA]=[X:X-Z:Z]
语法。肯定会偷的。@JNevill的工作原理与EVALUATE()类似function@Gary学生们,我很惊讶我从来没有遇到过这个问题。我很高兴我学到了一些新东西!完美的非常感谢你!