Hallo zusammen!
Ich habe ein sehr dringendes Problem.
Wir müssen einen VBA-Code programmieren, dass das Ziehen ohne Zurücklegen darstellen soll. Es gibt 20 Stickermotive und es sollen 5 in einer Tüte sein. Die Sticker in der Tüte sind rein zufällig gewählt und dürfen nicht doppelt vorkommen. Hier ist unser Code:
Sub ZufallsauswahlTueteSticker()
Const AnzMotive As Integer = 20
Const AnzStickerInTuete As Integer = 5
Dim Motiv() As Integer
ReDim Sticker(AnzStickerInTuete)
Dim I, J, Zufallssticker As Integer
Dim StickerSchonVorhanden As Boolean
For I = 1 To AnzStickerInTuete
Motiv(I) = 0
Next I
Randomize
Zufallssticker = Int(Rnd() * AnzMotive) + 1
StickerSchonVorhanden = False
For J = 1 To I - 1
If Motiv(J) = Zufallssticker Then
StickerSchonVorhanden = True
Exit For
End If
Next J
If StickerSchonVorhanden = False Then
Motiv(I) = Zufallssticker
Debug.Print I
End If
Next I
End Sub
Wenn wir auf ausführen klicken, dann kommt die Fehlermeldung Laufzeitfehler 9.
Da wir heute unsere Lösung noch abschicken müssen, wäre eine schnelle Antwort unsere Rettung.
Vielen Dank!
|