paar kleine fragen

Hey also wir programmieren gerade mit visual basic in der schule und ich komm nicht ganz zurecht mit einer sache.
Also ich möchte eine RICHTIGE Lottoziehung nachmachen.
Also es wird ein "schein" mit sechs werden benutzt und 6 vorgegebene werte die die "gezogenen" sechser darstellen.
Mein erstes problem ist das ich zwar zufallszahlen von 1 bis 49 hinbekommen hab aaaaaaaaaaaaaaaaaaaaber es kommt manchmal vor das in den sechs zahlen 2 mal die gleiche ist das geht ya eigentlich bei einer richtigen Lottoziehung nicht.
Mein zweites Problem ist das das ich die treffer in eine Zelle von Excel schreiben lasse. ( ich hab einfach so geschrieben das er bei jedem richtigen vergleich +1 in die zelle schreibt ) leider häuft sich das dann nach ner zeit wenn ich öfters den knopf drücke und ein schein "holle".

Hier ist der makro: ( hoffentlich konnte jemand mein problem verstehn xD )

"Sub Button8_Click()
Dim ncounter
For ncounter = 1 To 6
Cells(ncounter, 1) = Int((Rnd() * 48) + 1)
Next ncounter
For counter = 1 To 6
If Cells(counter, 1) = Cells(1, 2) Then Cells(1, 3) = Cells(1, 3) + 1 Else If Cells(counter, 1) = Cells(2, 2) Then Cells(1, 3) = Cells(1, 3) + 1 Else If Cells(counter, 1) = Cells(3, 2) Then Cells(1, 3) = Cells(1, 3) + 1 Else If Cells(counter, 1) = Cells(4, 2) Then Cells(1, 3) = Cells(1, 3) + 1 Else If Cells(counter, 1) = Cells(5, 2) Then Cells(1, 3) = Cells(1, 3) + 1 Else If Cells(counter, 1) = Cells(6, 2) Then Cells(1, 3) = Cells(1, 3) + 1
Next counter
End Sub"
 
Hallo RulerofDarkness,

@Lottozahlen:
schau mal hier: http://www.vbarchiv.net/archiv/tipp_details.php3?pid=222
Du könntest die bereits gezogenen Zahlen in ein Array schreiben und dann überprüfen, ob diese aktuell gezogen wurden. Wenn ja, dann kannst du eine neue Zufallszahl generieren. Hier das Stichwort "While" als Schleife.

@Excel-Problem:
Ich kenne mich leider nicht mit VBA aus, aber gibt es nicht irgendwo die Möglichkeit die Zellen zu löschen, nachdem du den Button angeklickt hast?

Naja, zumindest ein Problem müsste gelöst sein.

Ciao:
Da' Hacker
 
Nur so zur Info:

Code:
With Sheets(1)
     .UsedRange.ClearContents
End With

macht das geforderte. Alle Zellen werden von ihren Werten befreit und sind wieder leer. Die Formatierung bleibt allerding erhalten.
Falls es jemand gebrauchen kann.

ulki
 
Zurück