Userform: Zufallsgenerator
Allseits einen schönen Guten Morgen!
Mein Projekt „Deutsch > Tschechisch“-Vokabeltrainer neigt sich schön
langsam dem Ende.
Leider benötige ich jedoch nochmals die Hilfe der VBA-Experten.
Der eine oder andere wird in der Musterdatei (
http://www.file-upload.net/download-1807776/Vokabeltrainer_Muster01...) seine bisherige Unterstützung
wieder finden. Dafür möchte ich mich hier mich hiermit nochmals herzlich
bei allen bedanken!
Nun zu meinem heutigen Anliegen:
Ich möchte per „Zufallsgenerator“ gleichzeitig auf D > CZ
UND CZ > D auf prüfen. Der "Zufallsgenerator" soll dies auswählen.
Im Moment kann ich jeweils statisch nur D > CZ bzw. nur CZ > D aufrufen.
Vielleicht hat jemand einen Lösungsvorschlag für mich.
Ein paar weitere Fragen habe ich in der Datei selbst notiert.
Ciao
Tom
Antwort schreiben
Antwort 1 von Hajo_Zi vom 05.08.2021, 08:18 Options
Hlalo Tom,
ermittle einfach eine Zufallszhal und runde die aus 0 Kommastellen
1=D
0=CZ
Gruß Hajo
Antwort 2 von Tomschi vom 05.08.2021, 08:42 Options
Hallo Hajo!
Vielen Dank für die rasche Rückmeldung.
Zitat:
ermittle einfach eine Zufallszhal und runde die aus 0 Kommastellen
1=D
0=CZ
Leichter geschrieben als getan.
a) Weiß ich nicht wie ich das anstellen soll.
b) Wie und wo muss ich dann die ermittelte Zufallszahl in den (bestehenden) Code einbauen.
Wie schon kurz in der Musterdatei erwähnt, habe ich den bestehenden "Zufalls-Code" aus einem Buch abgeschrieben.
Das mit dem "Zufallsgenerator" ist für mich absolutes Neuland.
Ciao
Tom
Antwort 3 von Hajo_Zi vom 05.08.2021, 08:57 Options
Hallo Tom,
warum soll ich eine Datei runter laden. Ich bin davon ausgegangen Zufallszahl ist klar und Runden ist Round.
Gruß Hajo
Antwort 4 von Tomschi vom 05.08.2021, 10:23 Options
Hallo Hajo!
Sorry, aber ich bin leider immer noch ein Neuling in Sachen VBA.
Daher habe ich keinen blassen Schimmer wie ich wo und wann eine Zufallszahl generiere und diese dann weiterverwende.
Ciao
Tom
Antwort 5 von Hajo_Zi vom 05.08.2021, 10:34 Options
Hallo Tom,
schaue in die VBA Hilfe unter randomize da ist es gut beschrieben.
Gruß Hajo
Antwort 6 von nighty vom 05.08.2021, 10:58 Options
hi all ^^
hier erstmal eine einfache variante :-))
gruss nighty
Option Explicit
Sub Zufall01()
Randomize Timer
If Int(Rnd * 1) = 1 Then
'bei 1
Else
'bei 0
End If
End Sub
Antwort 7 von Tomschi vom 05.08.2021, 13:04 Options
Mahlzeit!
Danke für die Rückmeldungen.
Langsam wird es etwas klarer.
Ich werde dann zu Hause in Ruhe wieder mit dem "Codebasteln" beginnen. ;-)
Ciao
Tom
Antwort 8 von Tomschi vom 06.08.2021, 07:24 Options
Hallo nighty!
Ich habe Deinen von Dir dankenderweise geposteten Code kopiert und dabei festgestellt, dass das "Ergebnis" bei meinen zahlreichen Tests (ca. 50 x) immer null ist.
Hast Du zufällig eine Ahnung woran dies liegen könnte?
Ciao
Tom
Antwort 9 von rainberg vom 06.08.2021, 07:34 Options
Hallo Tom,
ersetze den Faktor 1 im Code durch eine 2
If Int(Rnd * 2) = 1 Then
Gruß
Rainer
Antwort 10 von Tomschi vom 06.08.2021, 09:12 Options
Hi Rainer!
Herzlichen Dank für Deinen Input!
Jetzt variiert das "Ergebnis". :-)
Frage zum Verständnis:
Was genau bewirkt "* 2"?
Warum funktioniert es nun und vorher nicht?
Ciao
Tom
Antwort 11 von rainberg vom 06.08.2021, 10:10 Options
Hallo Tom,
eine Zufallszahl in Excel ist ein Wert zwischen >0 und <1, davon der
Integer-Wert ist immer Null.
Mit *2 wird die Zufallszahl verdoppelt und davon der Integer-Wert
gebildet, somit ist es möglich Nullen und Einsen zu generieren.
Gruß
Rainer
Antwort 12 von Tomschi vom 06.08.2021, 10:47 Options
Hallo Rainer!
Wow, Dein Excel-Wissen möchte ich haben.
DANKE für Deine Erklärung.
Ciao
Tom