2017-04-03 9 views
0

選択したデータの行の順序を逆転させる配列関数を作成しようとしています。行の順序を反転する

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)"にしようとしましたが、これはどちらもうまくいきません。

答えて

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 
+0

素晴らしいです!グラシアス:) –