Quick sort VBA

Arnaldo Gunzi
Sep 25, 2021

--

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.

--

--

Arnaldo Gunzi
Arnaldo Gunzi

Written by Arnaldo Gunzi

Project Manager - Advanced Analytics, AI and Quantum Computing. Sensei of Analytics.

No responses yet