Jeg har en opgave hvor jeg skal lave en kode der kan sorterer et datasæt først efter en kolonne bestående af tal og derefter en kolonne bestående af bogstaver. Datasættet ser fx således ud god 1,2 dårlig 2,3 dårlig 3,5 god 2,1
Ja data er i regnerarket. Jeg kan også godt finde ud af at lave en kode ved at optage en makro, men jeg har brug for at lave en sorterings funktion i stedet, for at gøre programmet hurtigere!!
bare ved en knap... Jeg går ud fra hjeg skal lave en Quicksort. Jeg har noget kode, men jeg kan kun få den til at virke for bogstaver og så sorterer den kun en kolonne!!
Sub QuickSort(lft As Integer, rgt As Integer, liste As variant) Dim i As Integer, j As Integer, x As String, w As String i = lft j = rgt x = liste((lft + rgt) \ 2) Do Do While liste(i) < x i = i + 1 Loop Do While liste(j) > x j = j - 1 Loop If i <= j Then w = liste(i) liste(i) = liste(j) liste(j) = w i = i + 1 j = j - 1 End If Loop Until i > j If lft < j Then Call QuickSort(lft, j, liste) End If If i < rgt Then Call QuickSort(i, rgt, liste) End If End Sub
Så skal du oprette en knap, der forbindes med din sorteringsSUB Knappen kan oprettes via "Kontrolelementer" - i design tilstand kan du oprette koden, der hænger sammen med "Klik på knappen"
Jeg tror vi er gået lidt forbi hinanden :) det er ligegyldigt hvordan koden aktiveres. Mit problem er at lave en funktion der kan sortere mit datasæt (det er fordi den sorteringsmekaniske man kan få ved at optage en makro i excel er alt for langsom). Og det nye sorterede datasæt skal så gemmes i arrays da jeg skal arbejde videre med dem!!
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.