Avatar billede perry Nybegynder
25. september 2008 - 22:24 Der er 4 kommentarer og
1 løsning

Sortering i array

Kan man sortere et område i hukommelsen og hvordan ?
Område = Range("A1:C5")
Jeg ønsker at sortere efter kolonne B
efter sorteringen indsættes data igen.
Range("A1:C5")= Område
Avatar billede excelent Ekspert
26. september 2008 - 19:42 #1
Det fremmer sikkert interessen hvis du lukker åbne pørgsmål
Avatar billede perry Nybegynder
27. september 2008 - 16:07 #2
du har sikkert ret
Avatar billede excelent Ekspert
27. september 2008 - 17:05 #3
Der findes ikke en egentlig sorteringsrutine i VBA
som du ser er det nødvendigt at køre array igennem via en løkke
og er der mange data, så tager det tid
Er der en bestemt grund til at du vil gøre det i vba ?

Option Base 1

Sub Sorter()
Dim a(5)
Dim b(5)
Dim c(5)

For t = 1 To 5
a(t) = Cells(t, 1): b(t) = Cells(t, 2): c(t) = Cells(t, 3)
Next

For t = 1 To UBound(b)
For t2 = t To UBound(b)
If UCase(b(t2)) < UCase(b(t)) Then
a1 = a(t): b1 = b(t): c1 = c(t)
a2 = a(t2): b2 = b(t2): c2 = c(t2)
a(t) = a2: b(t) = b2: c(t) = c2
a(t2) = a1: b(t2) = b1: c(t2) = c1
End If
Next
Next

Range("A1:A" & UBound(a)) = WorksheetFunction.Transpose(a)
Range("B1:B" & UBound(b)) = WorksheetFunction.Transpose(b)
Range("C1:C" & UBound(c)) = WorksheetFunction.Transpose(c)

End Sub
Avatar billede perry Nybegynder
27. september 2008 - 17:52 #4
Ok. Jeg har løst problemet, drop et svar. Det er det andet problem, mange ligger ikke svar, men kun en kommentar. ;-)
Avatar billede excelent Ekspert
27. september 2008 - 19:00 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester