Hej! Mitt förslag till lösning 2 ListBoxar 1 Knapp <code> Elegant lösning Thomas R. Tyckte at det var en utmaning och försökte komma på nått listigt med ItemData property och NewIndex.Flytta värden
Jag har ett problem som jag hoppas att någon har någon smart lösning på.
Jag har två listor den ena har 25 väden i sig och den andra är tom.
Nu vill jag att de 25 värdena ska byta lista men även att de ska sorteras om. Problmet är att jag inte vill ha dem sorterade på något speciellt sätt utan skulle vilja att de helt slumpmässigt lade sig i den andra listan.
/FredrikSv: Flytta värden
<code>
Option Explicit
Private Sub Form_Load()
Randomize
End Sub
Private Sub Command1_Click()
Dim listRnd(25) As Long
Dim rndNum As Long, i As Long
Do Until i >= List1.ListCount
rndNum = Int(Rnd * 25)
If listRnd(rndNum) = 0 Then
listRnd(rndNum) = 1
List2.AddItem List1.List(rndNum)
i = i + 1
End If
Loop
End Sub
</code>Sv: Flytta värden
Option Explicit
Private Sub Command1_Click()
Dim x As Long
Do Until List1.ListCount = 0
x = Int(Rnd * List1.ListCount)
List2.AddItem List1.List(x)
List1.RemoveItem x
Loop
End Sub
Private Sub Form_Load()
Randomize Timer
End Sub
</code>Sv: Flytta värden
Kommentar Randomize Timer, Timer är onödigt att skriva , Randomize använder Timer som frö default.Sv: Flytta värden
Din lösning är kanonbra, trodde man skulle få fel när Rnd blir nått som inte finns.
Verkar som Listan själv omskriver ordningen när man gör Delete.