Quick sort VBA
Ordenar tabelas pode ser feito jogando numa planilha e usando ordenação por filtros.
Porém, se estivermos trabalhando em VBA na memória, é muito ruim ficar colando dados na planilha só para ordenar.
Uns anos atrás, fiz um quicksort no vba para fazer isso direto em tabelas. Você passa: a tabela, o inicio e o fim, e a coluna a ordenar. Também diz se é crescente ou não. Vide planilha aqui ( https://1drv.ms/x/s!Aumr1P3FaK7jn0FQpHettougpiGb)
Sub teste()
Dim tab1 As Variant
Dim i As Integer, j As Integer
ReDim tab1(1 To 1000, 1 To 3)
For i = 1 To 1000
For j = 1 To 3
tab1(i, j) = Math.Rnd
Next j
Next i
‘Ordeno pela coluna 3
QuickSortArray tab1, 1, UBound(tab1, 1), 3, “Crescente”
Range(“a1”).Resize(UBound(tab1, 1), UBound(tab1, 2)) = tab1
End Sub
Originally published at http://ferramentasexcelvba.wordpress.com on September 25, 2021.