Как поменять значение и индекс целочисленного массива в макросе vb - PullRequest
0 голосов
/ 19 декабря 2011

Как поменять значение и индекс целочисленного массива в макросе vb

i(0 to 5) = {3,4,1,5,0,2}
To
i(0 to 5) = {4,2,5,0,1,3}

редактирование ...

Спасибо @Tim и @ Коди

Следующая функция - то, что я получил, но ищу лучшие и более эффективные способы сделать это с / без массива l_aiOldIndexSwap

    Public Function SortValuePairs(ByRef l_aiValues() As Integer) As Integer()
     Dim l_aiOldIndexSwap() As Integer
     ReDim l_aiOldIndexSwap(LBound(l_aiValues) To UBound(l_aiValues))
     For i = LBound(l_aiValues) To UBound(l_aiValues)
      l_aiOldIndexSwap(l_aiValues(i)) = i
     Next
     SortValuePairs = l_aiOldIndexSwap
    End Function

1 Ответ

0 голосов
/ 19 декабря 2011

Попробуйте это

Dim Result As Integer()
ReDim Result(5)
For iLoop = 0 To 5
    Result(i(iLoop)) = iLoop
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...