Vba 翻转一行的顺序

Vba 翻转一行的顺序,vba,excel,Vba,Excel,我正在尝试创建一个数组函数,该函数将反转选定数据行的顺序 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 这样做的目的是能够颠倒一行单元格的顺序。例如:如

我正在尝试创建一个数组函数,该函数将反转选定数据行的顺序

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)”,但这也不起作用。

在给它赋值之前,您使用的是
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

在为其赋值之前,您正在使用
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

很好!格雷西亚斯:)真是太棒了!格雷西亚斯:)