翻转一行的顺序

时间:2017-04-03 09:37:01

标签: excel vba excel-vba

我正在尝试创建一个反转所选数据行的顺序的数组函数。

Function Flip(R)

    Dim n as variant
    Dim i as long
    ReDim A(1, n)
    n = R.Rows.Columns.Count

    For i = 1 To n
        A(1, n - 1) = R.Cells(1, n)
    Next i
    Flip= A
End Function

这样做的目的是能够颠倒一行单元格的顺序。例如:如果单元格被命令为20,30,40,120,那么使用此数组函数应该返回值120,40,30,20。

我知道我在如何调用n值来重新排列数组顺序方面遇到了问题。我也试过把它变成“A(n,1)”,但这也不起作用。

1 个答案:

答案 0 :(得分:2)

您在为n分配值之前使用了Function Flip(R As Range) Dim n As Variant Dim i As Long n = R.Cells.Count ReDim A(1 To 1, 1 To n) For i = 1 To n A(1, 1 + n - i) = R.Cells(1, i).Value Next i Flip = A End Function 。而且,数组指针也不是很正确。这应该这样做:

select  t2.dim1,t2.dim2
...
Lateral view outer inline  (A1)         t1
Lateral view outer inline  (t1.product) t2