我正在用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语句的编写方式有什么问题?代码似乎认为第六列中的单元格是空的,而事实并非如此。我检查了数据数组,每个点都有值。
发布于 2016-07-20 23:35:10
您的If语句看起来错误。如果需要检查是否满足两个条件,请使用:
If Datarray(p, 1) <> Empty And Datarray(p + 1, 1) <> Emptyhttps://stackoverflow.com/questions/38484675
复制相似问题