Resumen Ordenar array (matriz)

Mensaje enviado por "TONI.SUAREZ" <toni.suarez@terra.es>

Te paso una función que sirve para ordenarlo...

Adaptala a tus necesidades, pero funciona.

Public Sub Ordenar(arr As Variant, numels As Long, descendente As Boolean)
Dim indice As Long, indice2 As Long, primerelem As Long
Dim distancia As Long, valor As Variant
If VarType(arr) < vbArray Then Exit Sub
primerelem = LBound(arr)
Do
    distancia = distancia * 3 + 1
Loop Until distancia > numels
Do
    distancia = distancia \ 3
    For indice = distancia + primerelem To numels + primerelem - 1
        valor = arr(indice)
        indice2 = indice
        Do While (arr(indice2 - distancia) > valor) Xor descendente
            arr(indice2) = arr(indice2 - distancia)
            indice2 = indice2 - distancia
            If indice2 - distancia < primerelem Then Exit Do
            Loop
            arr(indice2) = valor
        Next
    Loop Until distancia = 1
End Sub



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com