2017-05-25 65 views
0

我能有帮助,这一个的一列,我找工作出日期在这样一个栏的时间差,则DateDiff的日期

enter image description here

很显然,我已经尝试了for循环但它从来没有那么容易,任何人都可以帮助:)

+1

比较什么日期差异?上面的那个?下面的那个?当前日期?显示你到目前为止尝试过的内容 – Tom

+0

这将是一个吼叫汤姆,它的列向下,所以想在日期差异的天数向右:) –

+0

你可以从Excel公式中减去另一个来获得什么你要。不需要任何花哨 – Tom

回答

0

如果你想用VBA来实现这一点,假设你的日期是在范围内A2:A6,尝试这样的事情......

Sub DateDif() 
Dim lr As Long, i As Long 
lr = Cells(Rows.Count, 1).End(xlUp).Row 
For i = 2 To lr - 1 
    If IsDate(Cells(i, 1)) And IsDate(Cells(i + 1, 1)) Then 
     Cells(i, 2) = DateDiff("d", Cells(i, 1), Cells(i + 1, 1)) 
    End If 
Next i 
End Sub 

或者尝试像这样这是很容易调整。 ..

Sub DateDif() 
Dim lr As Long 
Dim Rng As Range, Cell As Range 
lr = Cells(Rows.Count, "B").End(xlUp).Row 
Set Rng = Range("B2:B" & lr) 
For Each Cell In Rng 
    If IsDate(Cell) And IsDate(Cell.Offset(1, 0)) Then 
     Cell.Offset(0, 1) = DateDiff("d", Cell, Cell.Offset(1, 0)) 
    End If 
Next Cell 
End Sub 
+0

对不起,他们不是他们在单元格B10向下:) –

+0

没有问题。我添加了另一种方法,您可以轻松调整。 – sktneer

+0

非常感谢你,这是我期待做的,因为我确定你可以理解这对初学者来说很复杂,谢谢bro –

1

如果你的日期都在列A放于列BA3-A2向下拖动,有日期

的所有单元格(除了最后一个) enter image description here