我有自定义函数可以解决。
见图:
Sub pl()
Dim j, r, ar, arr
With ActiveSheet
j = .[A65536].End(xlUp).Row
ar = .Range("A1:B" & j)
ReDim arr(1 To UBound(ar) - 2, 1 To 3)
For r = 1 To UBound(ar)
If r < UBound(ar) - 1 Then
arr(r, 1) = ar(r, 1)
arr(r, 2) = ar(r + 1, 1)
arr(r, 3) = ar(r + 2, 1)
End If
Next
.Cells(1, 3).Resize(r - 3, 3) = arr
End With
End Sub
如果xy可变,那就需要在VBA中使用递归调用