monta o array..
para o caso aí, primeiramente precisamos saber:
1 qual a qtde total de itens na lista
2- qual o maior valor q irá cair em cada coluna..(1 dígito ? 2? 3?...qtos digitos no máximo por coluna?) se for um é moleza..
vou dar um ex baseada na tabela acima ok?
em declarations
dim lista as variant
dim lista1 as variant
No procedure...
private sub organiza()
redim lista(N) as variant ' Para o caso acima N=7
redim lista1(N) as variant ' Para o caso acima N=7
supondo q vc esteja carregando os dados de uma tabela...
ssql="select * from tabela blablabla......
set tabela=banco.openrecordset(ssql,dbopensnapshot)
k=0
do until tabela.eof
k=k+1
lista(k)=format(tabela("Campo1"),"0") 'OBSERVA Q ESTOU USANDO 1DIGITO
lista(k)=lista(k) & format(tabela("Campo2"),"0")
lista(k)=lista(k) & format(tabela("Campo3"),"0")
'OS VALORES dos 3 campos foram concatenados
tabela.movenext
loop
tabela.close
agora acertando os valores na sequencia...
n1=n
for i=N1 to 1
for j=1 to N
if j=1 then
a=val(lista(j))
else
if a < val(lista(j) then
a=val(lista(i)
else
if j=n then
lista1(i)=a ' AQUI o Maior Valor é armazenado na lista1
exit for ' aqui sai do For j
endif
endif
endif
next j
next i
Não testei este código... mas já fiz um parecido em outra ocasião..(Era um pokinho + complicado)... depois é só refazer as colunas usando mid$