条件语句在VBA Excel中无法正常工作

我正在VBA中编写一个代码,循环遍历每行的几列,并找出每两行之间的差异,并将该值存储在数组中。 我在for循环中添加了一个if语句,以避免操作中包含空白单元格,并且它对前五列有效,对第六列不起作用。

Dim Datarray As Variant Dim LR As Long, LR1 As Long Dim p As Integer, i As Integer LR1=LR-1 ReDim R(LR1) As Variant For i = 1 To DateTime_Column LR = Cells(Rows.Count, i).End(xlUp).Row Datarray = Range(Cells(1, i), Cells(LR, i)) For p = 2 To LR1 If Datarray(p, 1) And Datarray(p + 1, 1) <> Empty Then R(p) = Abs(Datarray(p + 1, 1) - Datarray(p, 1)) End If Next p Rave = WorksheetFunction.Average(R) ***Error occurs here because R is empty*** Next i 

有没有人看到我的if语句被写入的方式有什么问题? 代码似乎认为,第六列中的单元格不是空的。 我查了数据库,每个地方都有数据。

你的If语句看起来不对。 如果您需要检查是否满足两个条件,请使用:

 If Datarray(p, 1) <> Empty And Datarray(p + 1, 1) <> Empty