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

Conditional Statement Not Working Properly in 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