Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zufallsbingo mit Texten erstellen

Zufallsbingo mit Texten erstellen
09.01.2023 13:51:28
Kevin
Guten Tag alle zusammen.
Ich habe mir zur Aufgabe gemacht ein kleines Bingo in Excel zu erstellen. Leider sind meine Kenntnisse derart beschränkt, dass ich keine Ahnung habe, wie ich anfangen soll das Folgende zu realisieren:
- Einfaches Bingo 5x5 (mittleres Feld ist frei)
- Zufälliges Füllen der Bingozellen mit Sätzen (Die Sätze stehen vorbereitet auf einem weiteren Sheet, könnten mehr als 24 sein, falls das wichtig ist...)
- Satzgröße maximal 6 Wörter
- Durch einen Druck auf F9 oder eines Buttons das Bingo neu erstellen.
Vielen Dank für eure Hilfe!

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufallsbingo mit Texten erstellen
09.01.2023 14:04:14
onur
"Ich habe mir zur Aufgabe gemacht ein kleines Bingo in Excel zu erstellen" - Du hast aber noch GAR NIX davon angefangen?
AW: Zufallsbingo mit Texten erstellen
09.01.2023 14:18:31
onur
Poste wenigstens mal die Datei.
AW: Zufallsbingo mit Texten erstellen
09.01.2023 14:36:28
Rudi
Hallo,
Tabelle1!
A: Deine Sätze
B: =Zufallszahl
C: =Rang(B1;B:B)
Bingo in Tabelle2!B2:F6
Code für Tabelle2:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$D$4" Then
With Range("B2:F6")
.FormulaR1C1 = _
"=INDEX(Tabelle1!C1:C1,MATCH((ROW(R[-1]C)-1)*5+COLUMN(R[-1]C[-1]),Tabelle1!C3:C3,))"
.Cells(3, 3) = ""
.Value = .Value
End With
Cancel = True
End If
End Sub
Doppelklick in Tabelle2!D4 löst ihn aus.
Gruß
Rudi
Anzeige
AW: Zufallsbingo mit Texten erstellen
09.01.2023 15:16:43
Yal
Moin,
die Idee von Rudi, die Zelle D4 für den Doppelklick zu nutzen, finde ich gut.
Nur: wo ist die Zufallsverteilung? (oder habe ich was übersehen)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim C As New Collection
Dim Z As Range
Dim i
'wird gelöst, wenn in D4 doppelgeklickt wird (dort "Hier doppelklicken" eintragen)
If Target.Address  "$D$4" Then Exit Sub
'Aufbau einer eindeutige Liste
On Error Resume Next
With Worksheets("Worterliste") ' "$D$4" Then 'nicht für die mittlere  Zelle
i = Int(Rnd() * C.Count) + 1
Z.Value = C(i)
C.Remove (i) 'Element wird aus der Auflistung entfernt, um nicht eine zweite mal herausgegeben werden
End If
Next
Cancel = True 'für D4 keine Weiterverarbeitung der Doppelklick
Set C = Nothing
End Sub
VG
Yal
Anzeige
AW: Zufallsbingo mit Texten erstellen
09.01.2023 15:51:49
Rudi
Hallo,

Nur: wo ist die Zufallsverteilung? (oder habe ich was übersehen)
die kommt hierher:
Tabelle1
B: =Zufallszahl
C: =Rang(B1;B:B)
Wobei Rang=15 immer ignoriert wird, da die Zelle (D4) geleert wird.
Gruß
Rudi
tatsächlich übersehen ;-) owT
09.01.2023 16:49:51
Yal
Off topic
10.01.2023 05:42:47
RPP63
Moin!
Mein Excel erstellt das "Los" mit einer einzigen Formelzelle.
(die Zahlen mit Sätzen zu ersetzen geht dann simpel mittels Vergleichstabelle und SVERWEIS())

=SPALTENUMBRUCH(INDEX(SORTIERENNACH(SEQUENZ(75);ZUFALLSMATRIX(75));SEQUENZ(25));5)
Hier ist 75 die Anzahl der Zufallszahlen, 25 die "gezogenen" Zahlen und 5 die Anzahl der Spalten.
Das mittlere Feld lasse ich durch das benutzerdefinierte Zahlenformat ;;; unsichtbar.
 ABCDEFG
1       
2 6146231034 
3 4122535269 
4 2116 171 
5 65528454 
6 5012681963 
7       

ZelleFormel
B2=SPALTENUMBRUCH(INDEX(SORTIERENNACH(SEQUENZ(75);ZUFALLSMATRIX(75));SEQUENZ(25));5)

Gruß Ralf
Anzeige
AW: Off topic
10.01.2023 11:01:53
Daniel
Vielleicht sollest du angeben, welche Version du hast, da das in 2016 mit Sicherheit nicht funktioniert.
Gruß Daniel
AW: Zufallsbingo mit Texten erstellen
10.01.2023 10:57:48
Daniel
Hi
Im Prinzip so:
1. erstellen in den Zellen A1:E5 ein Bingoblatt und trage in die Zellen die zahlen 1-25 ein. Die Mitte lässt du leer.
2. schreibe die Sätze in ein Tabellenblatt "Sätze" in Spalte A. In Spalte B kommt die Formel =Zufallszahl() und in Spalte C die Formel: =Rang(B1;B:B)
3. erstellen jetzt dein Bingoblatt mit dieser Formel für die obere linke Zelle und kopieren diese in die restlichen Zellen:

=Wenn(A1="";"";Index(Sätze!$A:$A;Vergleich(A1;Sätze!$C:$C;0))
Wenn du mehrere Bingoblätter zeitgleich erstellen willst, musst du für jedes im Blatt Sätze ein Spaltenpaar anlegen und die Formeln aus B und C verwenden und in der Formel auf die jeweilige Spalte verweisen.
Gruß Daniel
Anzeige
AW: Zufallsbingo mit Texten erstellen
10.01.2023 13:33:39
Daniel
Hi
hier noch eine andere VBA-Variante.
die Zufallsreihenfolge ohne wiederholungen wird dadurch erzeugt, dass die Texte in ein Array eingelesen werden und dort die Positionen zufällig getauscht werden.
dann man die Liste von oben durchgehen, soweit wie benötigt und die Werte einfach von oben lesen:
die Größe des Bingofeldes legst du mit der Dimensionierung des Arrays Bingo fest. der Rest des Codes orientiert sich daran.
Lückenfelder kannst du im Select-Case einfach definieren, es können auch mehrere sein.
Die Textliste muss mindestens so viele Einträge haben wie es zu füllende Bingofelder gibt.

Sub Bingo()
Dim Sätze
Dim Bingo(1 To 5, 1 To 6)
Dim txt, x As Long, y As Long, z As Long, i As Long
'--- Sätze einlesen
With Sheets("Tabelle1").Range("A1") 'erste Zelle mit den Sätzen
Sätze = Range(.Cells, .End(xlDown)).Value
End With
'--- Zufallsreihenfolge erstellen
For i = 1 To UBound(Sätze, 1)
x = WorksheetFunction.RandBetween(1, UBound(Sätze, 1))
txt = Sätze(i, 1)
Sätze(i, 1) = Sätze(x, 1)
Sätze(x, 1) = txt
Next
'--- Bingofeld erzeugen
For i = 1 To UBound(Bingo, 1) * UBound(Bingo, 2)
Select Case i
Case 13 'Lückenfeld
Case Else
x = (i - 1) \ UBound(Bingo, 2) + 1
y = (i - 1) Mod UBound(Bingo, 2) + 1
z = z + 1
Bingo(x, y) = Sätze(z, 1)
End Select
Next
ActiveCell.Resize(UBound(Bingo, 1), UBound(Bingo, 2)) = Bingo
End Sub
Gruß Daniel
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige