Round-Robin Turniertool
-
- Beiträge: 79
- Registriert: 14. Apr 2023, 14:22
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 25 Mal
- Kontaktdaten:
Round-Robin Turniertool
Hallo Zusammen
ich habe dieses Tool ursprünglich im Thema K.O.-Turniertabelle hochgeladen, inzwischen sind jedoch Fragen zu diesem Tool aufgetaucht.
Damit wir damit Im Thema «K.O.-Turniertabelle» keine Verwirrung stiften, haben wir uns, nach Absprache mit dem Forumsbesitzer, entschieden, ein neues Thema für diese Datei zu eröffnen, damit getrennt über die beiden Themen diskutiert werden kann. Hier nochmal die entsprechende Datei
Beste Grüsse Erwin
ich habe dieses Tool ursprünglich im Thema K.O.-Turniertabelle hochgeladen, inzwischen sind jedoch Fragen zu diesem Tool aufgetaucht.
Damit wir damit Im Thema «K.O.-Turniertabelle» keine Verwirrung stiften, haben wir uns, nach Absprache mit dem Forumsbesitzer, entschieden, ein neues Thema für diese Datei zu eröffnen, damit getrennt über die beiden Themen diskutiert werden kann. Hier nochmal die entsprechende Datei
Beste Grüsse Erwin
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- Folgende Benutzer bedankten sich beim Autor Wisi82 für den Beitrag:
- d'r Bastler
Windows 10 Home, Office 2019 Professional, Aber meistens ist es der Kopf, welcher Verwirrung stiftet 

Re: Round-Robin Turniertool
Servus Erwin,
hab es mittlerweile irgendwie hinbekommen, die optimale Lösung ist es leider noch nicht. Läuft aber noch nicht wirklich so wie ich mir das vorstelle
Es läuft bei deiner Mappe alles über den Begegnungszettel und Partiestatus ab oder?
Lg Martin
hab es mittlerweile irgendwie hinbekommen, die optimale Lösung ist es leider noch nicht. Läuft aber noch nicht wirklich so wie ich mir das vorstelle

Es läuft bei deiner Mappe alles über den Begegnungszettel und Partiestatus ab oder?
Lg Martin
Re: Round-Robin Turniertool
habe das so gelöst das ich für jede Spielpaarung einen eigenen Button habe, ob das wirklich zielführend ist, wage ich zu bezweifeln

Code: Alles auswählen
Sub Button1_Click()
' Setze den Wert der selectedRow-Variable auf 5
selectedRow = 5
If Button1.Caption = "ERGEBNIS" Or Button1.Caption = "BEENDET" Then
Dim Tischzeile As Integer
Dim SpielerAName As String
Dim SpielerBName As String
Tischzeile = 5 ' Zeilennummer für Button1
SpielerAName = Sheets("16erPlan").Cells(Tischzeile, 7).Value ' Spalte G
SpielerBName = Sheets("16erPlan").Cells(Tischzeile, 11).Value ' Spalte K
If Sheets("16erPlan").Cells(Tischzeile, 8).Value <> "" Or Sheets("16erPlan").Cells(Tischzeile, 10).Value <> "" Then
Ergebnis.Tag = Tischzeile
Beendet.Show
Else
Ergebnis.Tag = Tischzeile
Ergebnis.SpielerA.Caption = SpielerAName
Ergebnis.SpielerB.Caption = SpielerBName
Ergebnis.Show
End If
ElseIf Button1.Caption = "OFFEN" Then
UserForm1.Show 'Ruft das Tisch1-Makro auf
End If
If Range("H5").Value <> "" Then
Button1.Caption = "BEENDET"
ElseIf Range("M5").Value = True Then
Button1.Caption = "OFFEN"
Else
Button1.Caption = "ERGEBNIS"
End If
Range("M5").Value = Not Range("M5").Value
End Sub
-
- Beiträge: 79
- Registriert: 14. Apr 2023, 14:22
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 25 Mal
- Kontaktdaten:
Re: Round-Robin Turniertool
Hallo zusammen
Nur zum Verständnis, in dieser Unterhaltung wurden vorher schon ein paar PN ausgetauscht, welche jetzt hier natürlich fehlen für den Zusammenhang.
@mleo08179
LG Erwin
Nur zum Verständnis, in dieser Unterhaltung wurden vorher schon ein paar PN ausgetauscht, welche jetzt hier natürlich fehlen für den Zusammenhang.
@mleo08179
Nicht ganz auch das Tabellenblatt «Tische» hat auch noch Einfluss, blende mal die ausgeblendeten Spalten ein. Die ganzen Auswertungen ob ein Tisch momentan frei ist oder nicht, habe ich alles über Formeln gelöst, über VBA schreibe ich meistens nur in bestimmte Zellen gewisse Werte, anhand dieser Werte werden dann die ganzen Tabellen anhand der Formeln berechnet. Es gibt den Wert «Partienzeile» dieser wird beim Start einer Partie in das Datenblatt «Begegnungszettel» und «Tische» eingetragen, ausserdem wird im Datenblatt «Partien Status» der Wert eingetragen, dass die Partie gedruckt (gestartet) wurde. Alles andere läüft dann über die Formeln. wenn ein Resultat erfasst wird, werden nur die zwei Resultate in das Tabellenblatt «Partien Status» eingetragen.Es läuft bei deiner Mappe alles über den Begegnungszettel und Partiestatus ab oder?
Auch ich habe für jede Partie einen einzelnen Button gemacht, irgendwie muss man ja unterscheiden, welche Partie angewählt wurde. Mir war kein anderer Weg bekannt um dieses Problem zu lösen.habe das so gelöst das ich für jede Spielpaarung einen eigenen Button habe, ob das wirklich zielführend ist, wage ich zu bezweifeln
LG Erwin
Windows 10 Home, Office 2019 Professional, Aber meistens ist es der Kopf, welcher Verwirrung stiftet 

-
- Beiträge: 928
- Registriert: 29. Aug 2022, 13:20
- Hat sich bedankt: 255 Mal
- Danksagung erhalten: 134 Mal
Re: Round-Robin Turniertool
Moin Erwin, moin Martin,
bin im Moment reichlich anderweitig beschäftigt, daher-sorry- meine späte "Einmischung" und dann auch noch, ohne eine der Mappen überhaupt geöffnet zu haben... Es sei Euch also ein herzliches Bastler halt die Klappe, Du hast das Thema völlig verfehlt erlaubt
Die fraglichen Adressen in ein Array geschrieben ermöglichen dann mit Select Case beliebige Aktionen. Als Beispiel habe ich hier msgbox genutzt.
Und hier noch eine etwas abgewandelte Version, die Makros in einem allg. Modul aufruft:
Die Aktionen sind wieder nur dümmliche msgbox.
Wie gesagt, schimpfen, wenn ich Blödsinn verzapfe...
Grüße
bin im Moment reichlich anderweitig beschäftigt, daher-sorry- meine späte "Einmischung" und dann auch noch, ohne eine der Mappen überhaupt geöffnet zu haben... Es sei Euch also ein herzliches Bastler halt die Klappe, Du hast das Thema völlig verfehlt erlaubt

In Tabellen (da gehört er Code unten hin) gibt es die Möglichkeit anhand der ausgewählten Zell-Adresse gezielt Aktionen zu starten. Dabei sind als auslösender Event z.B. Selection_Change oder Before_DoubleClick geeignet, bei denen jeweils das Target (also die aktive Zelle) abgefangen wird. Für jedes Makro ein eigener Button wird damit unnötig.anderer Weg bekannt um dieses Problem zu lösen.
Die fraglichen Adressen in ein Array geschrieben ermöglichen dann mit Select Case beliebige Aktionen. Als Beispiel habe ich hier msgbox genutzt.
Code: Alles auswählen
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'reagiert bei jedem doppelklick
MsgBox Target.Column
Cancel = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'reagiert nur bei bestimmten Zellen
Dim aAddress, aAction 'Array
Dim i As Integer
aAddress = Array("$A$1", "$B$2")
aAction = Array("Aktion für A1", "Aktion für B2")
For i = 0 To UBound(aAddress) + 1
On Error Resume Next
If Target.Address = aAddress(i) Then
MsgBox aAction(i)
End If
Next i
End Sub
Code: Alles auswählen
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim aAddress, aAction 'Array
Dim i As Integer
Dim sAction As String
aAddress = Array("$A$1", "$B$2")
aAction = Array("Versiv", "Version")
For i = 0 To UBound(aAddress) + 1
On Error Resume Next
If Target.Address = aAddress(i) Then
sAction = aAction(i)
Application.Run sAction
GoTo bye
End If
Next i
bye:
End Sub
Wie gesagt, schimpfen, wenn ich Blödsinn verzapfe...

Grüße
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 pro [32] & Win11 + Office 2024 pro [64] & macOS.X15 + Office2019 pro & Android12 & XL365
Win 10 + Office 2019 pro [32] & Win11 + Office 2024 pro [64] & macOS.X15 + Office2019 pro & Android12 & XL365
-
- Beiträge: 79
- Registriert: 14. Apr 2023, 14:22
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 25 Mal
- Kontaktdaten:
Re: Round-Robin Turniertool
Hallo Bastler
Deine Vorschläge sind wunderbare Varianten auch wenn ich sie noch nicht zu 100% verstehe (ca. 98%).
Als ich das Tool gebaut habe, war es mir wichtig, dass ich Buttons habe, damit auch ein unerfahrener Benutzer auf den ersten Blick erkennt, wo er hinklicken muss. um zu wissen wo man den Doppelklick machen muss, muss man das Tool kennen, oder die Zelle muss entsprechend markiert werden. Ausserdem sind in meiner Mappe eigentlich alle Zellen gesperrt und auch nicht anwählbar, das macht dann Funktionen mit Target nicht mehr wirklich nutzbar. Ich habe aber nicht für jeden Button den ganzen Code geschrieben wie im Beispiel von Martin, ich habe pro Button nur folgenden Code dahinter:
in der ersten Zeile setze ich den Wert einer globalen Variable, dann rufe ich die eigentliche Funktion auf, welche dann wieder mit der globalen Variable arbeitet.
Als ich bezüglich dieses Forumseintrags meine Funktionen noch mal angeschaut habe, ist mir sofort aufgefallen, dass ich wahrscheinlich zu diesem Zeitpunkt noch nicht wusste, wie eine Variable an eine Folgefunktion übergeben werden kann, deshalb habe ich mit einer globalen Variable gearbeitet (Zum Glück führt nicht nur ein Weg zum Ziel
).
Im Beispiel von Martin wird auch die .Caption vom Button geändert, er trägt direkt auf dem Button den Satus der Partie ein.
Bei mir ist das anders, Resultate, Spielernamen, Tischnummer, ... werden via VBA nur in die Systemtabelle «Partien Status» eingetragen, Jeweils ein Wert wird beim Starten einer Partie noch in die Tabelle «Tische» und ein weiterer in die Tabelle «Begegnungszettel» bei jedem Aufruf einer Partie (welches ist die aktuelle Partie).
Alles andere was für den Benutzer sichtbar ist, befüllt sich dann anhand von Formeln und bedingten Formatierungen, welche sich auf die angesprochene Systemtabelle beziehen. Ob eine Partie «offen»,«Am Spielen» oder «beendet» ist, wir bei mir nur durch eine Bedingte Formatierung angezeigt;
Offene Partie; keine Formatierung
Am Spielen; Zellen ROT eingefärbt
beendet; Zellen Grün eingefärbt
Der Button bleibt immer gleich neben der Partie stehen, nur die Funktion auf dem Button ändert sich.
Gibt es Varianten von deinen Funktionen die auch funktionieren, wenn alle Zellen gesperrt sind und auch nicht anwählbar sind?
Es grüsst bei bestem Wetter Erwin
Ich habe mir für meine Antwort ja auch etwas Zeit gelassen, und weshalb sollten wir dir den Mund verbieten, jeder der versucht zu helfen, kann einen auf die richtige Spur bringen, ich glaube du hast das Hinterfragen der einzelnen Buttons von Martin schon richtig verstanden. Und auch entsprechende Lösungen geliefert, jetzt muss sich Martin selber entscheiden in welche Richtung er sein Tool entwickeln will.daher-sorry- meine späte "Einmischung"
Deine Vorschläge sind wunderbare Varianten auch wenn ich sie noch nicht zu 100% verstehe (ca. 98%).
Als ich das Tool gebaut habe, war es mir wichtig, dass ich Buttons habe, damit auch ein unerfahrener Benutzer auf den ersten Blick erkennt, wo er hinklicken muss. um zu wissen wo man den Doppelklick machen muss, muss man das Tool kennen, oder die Zelle muss entsprechend markiert werden. Ausserdem sind in meiner Mappe eigentlich alle Zellen gesperrt und auch nicht anwählbar, das macht dann Funktionen mit Target nicht mehr wirklich nutzbar. Ich habe aber nicht für jeden Button den ganzen Code geschrieben wie im Beispiel von Martin, ich habe pro Button nur folgenden Code dahinter:
Code: Alles auswählen
Sub drucken_311()
Partienzeile = 2
Call drucken3
End Sub
Als ich bezüglich dieses Forumseintrags meine Funktionen noch mal angeschaut habe, ist mir sofort aufgefallen, dass ich wahrscheinlich zu diesem Zeitpunkt noch nicht wusste, wie eine Variable an eine Folgefunktion übergeben werden kann, deshalb habe ich mit einer globalen Variable gearbeitet (Zum Glück führt nicht nur ein Weg zum Ziel

Im Beispiel von Martin wird auch die .Caption vom Button geändert, er trägt direkt auf dem Button den Satus der Partie ein.
Bei mir ist das anders, Resultate, Spielernamen, Tischnummer, ... werden via VBA nur in die Systemtabelle «Partien Status» eingetragen, Jeweils ein Wert wird beim Starten einer Partie noch in die Tabelle «Tische» und ein weiterer in die Tabelle «Begegnungszettel» bei jedem Aufruf einer Partie (welches ist die aktuelle Partie).
Alles andere was für den Benutzer sichtbar ist, befüllt sich dann anhand von Formeln und bedingten Formatierungen, welche sich auf die angesprochene Systemtabelle beziehen. Ob eine Partie «offen»,«Am Spielen» oder «beendet» ist, wir bei mir nur durch eine Bedingte Formatierung angezeigt;
Offene Partie; keine Formatierung
Am Spielen; Zellen ROT eingefärbt
beendet; Zellen Grün eingefärbt
Der Button bleibt immer gleich neben der Partie stehen, nur die Funktion auf dem Button ändert sich.
Gibt es Varianten von deinen Funktionen die auch funktionieren, wenn alle Zellen gesperrt sind und auch nicht anwählbar sind?
Es grüsst bei bestem Wetter Erwin
Windows 10 Home, Office 2019 Professional, Aber meistens ist es der Kopf, welcher Verwirrung stiftet 

-
- Beiträge: 928
- Registriert: 29. Aug 2022, 13:20
- Hat sich bedankt: 255 Mal
- Danksagung erhalten: 134 Mal
Re: Round-Robin Turniertool
Na, Dir geht's ja gut. Bei uns ist's grau in grau......s grüsst bei bestem Wetter E...
Moin Erwin,
um Deine Abschlussfrage zuerst zu beantworten: Der Blattschutz von XL lässt als Standard die Auswahl von nicht/gesperrten Zellen zu, ohne dabei ihren Inhalt zu ändern. Also sind die beiden im Beispiel genutzten Events für Aktionen verfügbar. Soll dabei allerdings der Inhalt der Zelle selbst geändert werden (vgl .Caption ändern), muss im Makro der Blatt/Zellschutz vorübergehend ausgehoben werden.
Zur Benutzerführung gibt es verschiedene Möglichkeiten. Schon oft habe ich den Vorschlag von Kommentaren je Zelle gesehen, mit dem ich mich aber irgendwie nicht anfreunden mag. Ich bevorzuge einfache Hintergrundfarben, die in einer Legende irgend wo oben in der Tabelle erklärt werden.
Triste Grüße

d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 pro [32] & Win11 + Office 2024 pro [64] & macOS.X15 + Office2019 pro & Android12 & XL365
Win 10 + Office 2019 pro [32] & Win11 + Office 2024 pro [64] & macOS.X15 + Office2019 pro & Android12 & XL365
-
- Beiträge: 79
- Registriert: 14. Apr 2023, 14:22
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 25 Mal
- Kontaktdaten:
Re: Round-Robin Turniertool
Hallo Bastler
aber was soll's ich nehms wie's kommt, ändern kann ich's ja eh nicht.
Das mit dem Blattschutz (Auswahl ob Zellen auswählbar, ....) kenne ich, ich habe aber die Aktivierung von Zellen bewusst ausgeschalten, Der Benutzer soll den Button benutzen, welcher auch bei nicht auswählbarer Zelle aktiv ist.
Wie Martin das in seinem Tool machen will, kann ich nicht beurteilen.
Wäre schön, wenn du vielleicht doch mal einen kurzen Blick in mein Tool werfen könntest, es würde mich nämlich interessieren, wie du meine Variante der Benutzerführung findest.
Beste Grüsse Erwin
Bei uns wird's wohl am Wochenende auch nicht bessergrau in grau

Das mit dem Blattschutz (Auswahl ob Zellen auswählbar, ....) kenne ich, ich habe aber die Aktivierung von Zellen bewusst ausgeschalten, Der Benutzer soll den Button benutzen, welcher auch bei nicht auswählbarer Zelle aktiv ist.
Wie Martin das in seinem Tool machen will, kann ich nicht beurteilen.
Wäre schön, wenn du vielleicht doch mal einen kurzen Blick in mein Tool werfen könntest, es würde mich nämlich interessieren, wie du meine Variante der Benutzerführung findest.
Beste Grüsse Erwin
Windows 10 Home, Office 2019 Professional, Aber meistens ist es der Kopf, welcher Verwirrung stiftet 

-
- Beiträge: 928
- Registriert: 29. Aug 2022, 13:20
- Hat sich bedankt: 255 Mal
- Danksagung erhalten: 134 Mal
Re: Round-Robin Turniertool
Servus, noch mal!
na, an Tabellenblättern fehlt's der Mappe ja mal nicht
Du bildest darin gleich ein knappes Dutzend an Turnierversionen ab und man sieht der Mappe an, dass sie Stück für Stück gewachsen ist. Du hast also nicht auf Basis eines lange vorbereiteten Pflichtenheftes mit einer leeren Mappe angefangen und damit die Möglichkeit genutzt, redundanten Code möglichst zu vermeiden (was Du und da bin ich mir sicher, in einer neuen Version längst geübt (Teile des Codes sind knapp zehn Jahre als, habe ich gesehen) heute vermutlich in Kombination mit integrierten Datenmodell tun würdest.
Wenn ich jetzt für ein Turnier die Mappe nutzen wollte, würde ich vermutlich erst einmal alles ausblenden, was für dieses konkrete Turnierformat nicht gebraucht wird, und -soweit möglich- nur ein Tabellenblatt verwenden. Die Vorrunde ist gespielt, also ab mit den dazugehörigen Spalten in die Unsichtbarkeit, als ein Beispiel.
Um hierfür einen übersichtlichen Einstieg zu bieten, kann man die Mappe mit einer Userform "Auswahl, Optionen, Turnierformat" o.Ä. eröffnen, das z.B. auch den Zugriff auf bereits (ggf. in der selben Mappe) gespeicherte Turniere ermöglicht. Erst wenn dieser Splash-Screen alle notwenigen Daten enthält, wird der Zugang zum gewünschten Turnier in reduzierter, damit übersichtlicherer Form möglich.
Das nur mal eben so, als meine ersten Gedanken, was natürlich bedeutet, dass es ein dickes, fettes ABER geben muss: Ich habe vieles gesehen, dass Du ohne die Nutzung von Datenmodellen und ihrer späteren Präsentation erstellt hast (eine sehr sinnvolle Trennung, die ich auch erst mühsam begreifen musste), das ist kritikabel. Andere Dinge dagegen hast Du sehr elegant gelöst.
Nimm's als First Flush Feedback, was man mit Nörgeln auf ahnungslos-unqualifiziertem Niveau übersetzen könnte. Und nachdem es ja zu funktionieren scheint: Dicken Respekt! Da steckt viel gut überlegte Arbeit darin!
Schöne Grüße!
Wenn's mich heute Abend noch sehr zwickt, versuche ich mal einen solchen Splash Screen als Grafik zu basteln.
na, an Tabellenblättern fehlt's der Mappe ja mal nicht

Wenn ich jetzt für ein Turnier die Mappe nutzen wollte, würde ich vermutlich erst einmal alles ausblenden, was für dieses konkrete Turnierformat nicht gebraucht wird, und -soweit möglich- nur ein Tabellenblatt verwenden. Die Vorrunde ist gespielt, also ab mit den dazugehörigen Spalten in die Unsichtbarkeit, als ein Beispiel.
Um hierfür einen übersichtlichen Einstieg zu bieten, kann man die Mappe mit einer Userform "Auswahl, Optionen, Turnierformat" o.Ä. eröffnen, das z.B. auch den Zugriff auf bereits (ggf. in der selben Mappe) gespeicherte Turniere ermöglicht. Erst wenn dieser Splash-Screen alle notwenigen Daten enthält, wird der Zugang zum gewünschten Turnier in reduzierter, damit übersichtlicherer Form möglich.
Das nur mal eben so, als meine ersten Gedanken, was natürlich bedeutet, dass es ein dickes, fettes ABER geben muss: Ich habe vieles gesehen, dass Du ohne die Nutzung von Datenmodellen und ihrer späteren Präsentation erstellt hast (eine sehr sinnvolle Trennung, die ich auch erst mühsam begreifen musste), das ist kritikabel. Andere Dinge dagegen hast Du sehr elegant gelöst.
Nimm's als First Flush Feedback, was man mit Nörgeln auf ahnungslos-unqualifiziertem Niveau übersetzen könnte. Und nachdem es ja zu funktionieren scheint: Dicken Respekt! Da steckt viel gut überlegte Arbeit darin!
Schöne Grüße!
Wenn's mich heute Abend noch sehr zwickt, versuche ich mal einen solchen Splash Screen als Grafik zu basteln.
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 pro [32] & Win11 + Office 2024 pro [64] & macOS.X15 + Office2019 pro & Android12 & XL365
Win 10 + Office 2019 pro [32] & Win11 + Office 2024 pro [64] & macOS.X15 + Office2019 pro & Android12 & XL365
-
- Beiträge: 22
- Registriert: 23. Sep 2022, 05:54
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 14 Mal
- Kontaktdaten:
Re: Round-Robin Turniertool
- Folgende Benutzer bedankten sich beim Autor Sulprobil für den Beitrag:
- d'r Bastler
Wer ist online?
Mitglieder in diesem Forum: Ahrefs [Bot] und 2 Gäste