Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1632to1636
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

Punktetabelle für Turniere

Punktetabelle für Turniere
22.07.2018 05:04:31
Michael
Hallo zusammen,
ich habe eine Tabelle für Turnierergebnisse, in der ich eine UserForm erstellt habe, um den jeweils besten 9 Spielern jedes Turniers die entsprechenden Punkte zuzuordnen.(Bester Spieler bekommt 10 Punkte, Platz 2 bekommt 9 Punkte... Platz 9 2 Punkte)
Wie bekomme ich es bitte hin, dass einem Spieler der in einem früheren Turnier schon einmal Punkte bekommen hat und man ihn erneut im Textfeld eingibt die entsprechenden Punkte zugeordnet werden? Wichtig wäre mir hierbei noch, dass man schon eingetragene Spielernamen nicht immer wieder vollständig ausschreiben muss, sondern das nach Eingabe von ca. 4 Zeichen der vollständige Spielername im Textfeld angezeigt wird.
Wenn jemand für ein Turnier den VBA-Code schreiben würde, könnte ich diesen mit entsprechend angepassten Zellbezügen für alle anderen Turniere kopieren. Ein Makro für die Berechnung der Gesamtpunktzahl und die alphabetische Reihenfolge bei Punktgleichheit habe ich bereits erstellt.
Am Ende jedes Monats befinden sich höchstens 130 Spieler in der Tabelle. Es muss also kein resourcenschonender VBA-Code sein! Ich trete seit 2 Wochen auf der Stelle und bekomme dieses Problem einfach nicht gelöst, weil ich kaum Ahnung von VBA habe! Ich würde mich wirklich sehr freuen, wenn mir hier jemand helfen könnte.
https://www.herber.de/bbs/user/122823.xlsm

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Punktetabelle für Turniere
22.07.2018 10:38:12
Barbaraa
Hallo Michael,
zu Deiner Beispieltabelle:
Wenn Du im nächsten freien Namensfeld zB "uni" einträgst, wird "unique1" vorgeschlagen. Was willst Du mehr?
Was soll das Makro tun?
Etwa Zeilen mit dem selben Spielernamen zusammenfassen? Das wäre nicht schwer. Wenn mehrere Zeilen den selben Spielernamen haben, werden alle Ponkte des Spielers in der ersten Spielerzeile zusammengezählt und die restlichen Spielerzeilen gelöscht.
Falls nicht, dann bitte um genauere Erläuterung, was das Makro tun soll.
Dann steigen die Chancen auf brauchbare Lösungen, ohne mich jetzt selbst in den Vordergrund stellen zu wollen.
LG,
Barbara
Anzeige
AW: Punktetabelle für Turniere
23.07.2018 08:48:10
Michael
Hallo Barbara,
Du bringst mich auf eine sehr gute Idee! Ich habe mal wieder viel zu kompliziert gedacht!! Ich dachte ich müsste in VBA irgendwie sowas wie VERGLEICH oder IDENTISCH und if then Schleifen benutzen, um das Problem der doppelte Spielernamen zu lösen!(Hätte ich nie geschafft!) Es wäre jedoch sehr viel einfacher, wenn ich einfach stur die Spielernamen in die Textfelder der Userform eingebe und hinterher die Punkte der doppelten Spielernamen durch ein einfaches Makro zusammenführe!!
Einfaches Beispiel:
______A_______B_____________C___________D_____________E
1___Platz____Name______Gesamtpunkte__Turnier 1_____Turnier 2
2_____1_____Schmitz_________12___________5_____________7
3_____2_____Müller___________5___________5
4_____3_____Müller___________3_________________________3
Wie müsste bitte das Makro aussehen damit z.B. Müller automatisch in einer Zeile zusammengefügt wird?
Also so...
______A_______B_____________C___________D_____________E
1___Platz____Name______Gesamtpunkte__Turnier 1_____Turnier 2
2_____1_____Schmitz_________12___________5_____________7
3_____2_____Müller___________8___________5_____________3
(Die einzelnen Turnierergebnisse in D und E müssen dabei sichtbar bleiben!)
LG,
Michael
Anzeige
AW: Punktetabelle für Turniere
23.07.2018 09:59:00
Barbaraa
Hallo Michael,
ich komm nicht ganz mit bei der Beschreibung deiner guten Idee.
Wo unterscheidet sich diese von meinem Vorschlag aus meinem vorigen Beitrag?
LGB
AW: Punktetabelle für Turniere
23.07.2018 17:46:43
Michael
Hallo Barbara,
ich tausche den Satz: "Du bringst mich auf eine sehr gute Idee!" gegen: Dein Vorschlag war genau die richtige Lösung. Meine "Idee" war einfach nur die Erkenntnis, dass durch Dein Makro mein viel zu komplizierter Lösungsansatz viel einfacher gelöst werden kann.
Mit der Darstellung des Beispiels wollte ich nur zeigen, dass die Turnierergebnisse im Einzelnen sichtbar bleiben müssen und nicht nur die Gesamtpunkte addiert werden. Ich möchte halt alles so detailliert und genau wie möglich erklären, damit keine Mißverständnisse entstehen. Man kann bei solchen Sachen wirklich herrlich aneinander vorbeireden.
Wir haben am Anfang ein wenig aneinander vorbei geredet, als ich von einer Eingabe der Spielernamen in den Textfeldern der UserForm sprach und Du von einer Eingabe in der Tabelle selbst. Aber eine Eingabe in der Tabelle möchte ich ja gerade vermeiden, indem ich eine UserForm benutze, weil durch die festgelegten Punkte je Textfeld ein falscher Eintrag quasi ausgeschlossen wird, man nicht mehr umständlich die Punkte zu Fuß eintragen muss und damit alles viel schneller geht.
Ich versuche mich nun an der Fertigstellung meiner UserForm, die ja nun durch Deinen Vorschlag viel einfacher geworden ist und würde mich freuen wenn Du mir evtl. ein entsprechendes Makro für die Doppelspielernamenproblematik schicken könntest.
LG,
Michael
Anzeige
AW: Punktetabelle für Turniere
23.07.2018 22:22:59
Barbaraa
Hi Michael,
wollte nur sichergehen, dass wir das selbe meinen.
Probier mal folgenden Code:
Option Explicit
Sub Zusammenfassen()
Dim rStart      As Range        'Zelle des ersten Namens
Dim lZeile      As Long
Dim lZeile1     As Long
Dim lSpalte     As Long
With Sheets("Homegametabelle")
Set rStart = .Range("D5")   'Ev. anpassen
For lZeile = rStart.Row To rStart.End(xlDown).Row
For lZeile1 = lZeile + 1 To rStart.End(xlDown).Row
If .Cells(lZeile, 4) = .Cells(lZeile1, 4) Then
For lSpalte = .Columns("I").Column To .Cells(lZeile1, _
.Columns.Count).End(xlToLeft).Column
If .Cells(lZeile1, lSpalte)  "" Then
.Cells(lZeile, lSpalte) = .Cells(lZeile, lSpalte) + _
.Cells(lZeile1, lSpalte)
.Cells(lZeile1, lSpalte) = ""
End If
Next lSpalte
.Cells(lZeile1, .Columns("D").Column) = ""
End If
Next lZeile1
Next lZeile
End With
End Sub
Dieser Code geht die Namensspalte bis zur ersten leeren Zelle durch und vergleicht diese mit allen darunter liegenden Namen (auch wieder bis zur ersten leeren Zelle). Wird ein solcher gefunden, werden alle Punkte ab Spalte I hinauf kopiert und gelöscht. Dann wird der Name selbst gelöscht.
Länderflaggen, Pokale, Orden uä bleiben unberührt. Weiss dzt. nicht, wie man sowas behandelt.
Anmerkung:
Vernachlässige nicht die erste Zeile "Option Explicit". In Deinem Beispiel war sie nicht drinnen.
Sie verhindert das Ausführen von Codes mit undeklarierten Variablen. Nicht, dass es ohne dem nicht geht, aber oft sind Fehler beim Programmieren durch diese Kontrolle vermeidbar. Entweder Du schreibst zu Beginn eines jeden Moduls "Option Explicit", oder Du lässt es automatisch machen, indem Du bei Extras, Optionen "Variablendeklaration erforderlich" wählst (empfehlenswert).
Funktioniert es?
LGB
Anzeige
AW: Punktetabelle für Turniere
23.07.2018 23:56:10
Michael
Hallo Barbara,
der Code funktioniert wunderbar!! Spitze!!! Vielen Dank!
Ich werde Dich aber bestimmt morgen nochmal kurz anschreiben um Dich zu fragen warum meine eigenen Programmzeilen noch nicht so ganz rund laufen. Aber ich versuche zumindest mein bestes!Vielleicht klappts ja sogar!
Sobald das dann läuft kann ich die Tabelle endlich online stellen.(Das wird viele Leute (über 100 Spieler!) sehr freuen;-))
Variablendeklaration erforderlich werde ich direkt mal auswählen. Danke für den Tipp.
LG,
Michael
AW: Punktetabelle für Turniere
24.07.2018 14:11:47
Michael
Hi Barbara,
Ich habe bei meiner gestrigen Recherche leider nicht herausgefunden, wie man in der UserForm einem Textfeld einen definierten Zahlenwert zuweisen kann. (z.B. Spieler auf Platz (bzw. in Textfeld) 1 = 10(Punkte))
Die Länderflaggen, Orden usw. werden durch mein eigenes Makro korrekt transportiert, stellt also kein Problem dar.(Das Ausführen Deines Makros verursacht in der jetzigen leeren Tabelle zwar einen Absturz von Excel, aber bei meiner Originaltabelle funktioniert es einwandfrei!Ich schätze mal das Makro rödelt sich kaputt, weil zuwenig Daten vorhanden sind)
Kann man eigentlich mit drücken des CommandButtons in der UserForm die beiden Makros (sortieren der Gesamtpunkte, doppelte Spielernamen zusammenführen) und das Eintragen der Textfeldinhalte in die Tabelle gleichzeitig ausführen?
Könntest Du mir bitte nur für ein einziges Textfeld den Code schreiben? Also so das die Punkte vom Spieler D5 in I5 erscheinen? (10 Punkte). Also 1. Spieltag 1. Turnier.
(UserForm ist im 2. Tabellenblatt vorhanden und da bitte den Code für das erste Textfeld.
(Die Spielernamen enthalten oft Zahlen und Sonderzeichen!) Das würde mir wirklich sehr helfen! Ich kann mir den Rest dann für alle anderen Turniere und Spieltage kopieren und anpassen und wäre endlich mit der Tabelle fertig!(bastle seit dem 06.07. dran!!!)
https://www.herber.de/bbs/user/122855.xlsm
Gruß
Michael
Anzeige
AW: Punktetabelle für Turniere
24.07.2018 16:35:32
Michael
Hi Barbara,
Ich habe bei meiner gestrigen Recherche leider nicht herausgefunden, wie man in der UserForm einem Textfeld einen definierten Zahlenwert zuweisen kann. (z.B. Spieler auf Platz (bzw. in Textfeld) 1 = 10(Punkte))
Die Länderflaggen, Orden usw. werden durch mein eigenes Makro korrekt transportiert, stellt also kein Problem dar.(Das Ausführen Deines Makros verursacht in der jetzigen leeren Tabelle zwar einen Absturz von Excel, aber bei meiner Originaltabelle funktioniert es einwandfrei!Ich schätze mal das Makro rödelt sich kaputt, weil zuwenig Daten vorhanden sind)
Kann man eigentlich mit drücken des CommandButtons in der UserForm die beiden Makros (sortieren der Gesamtpunkte, doppelte Spielernamen zusammenführen) und das Eintragen der Textfeldinhalte in die Tabelle gleichzeitig ausführen?
Könntest Du mir bitte nur für ein einziges Textfeld den Code schreiben? Also so das die Punkte vom Spieler D5 in I5 erscheinen? (10 Punkte). Also 1. Spieltag 1. Turnier.
(UserForm ist im 2. Tabellenblatt vorhanden und da bitte den Code für das erste Textfeld.
(Die Spielernamen enthalten oft Zahlen und Sonderzeichen!) Das würde mir wirklich sehr helfen! Ich kann mir den Rest dann für alle anderen Turniere und Spieltage kopieren und anpassen und wäre endlich mit der Tabelle fertig!(bastle seit dem 06.07. dran!!!)
https://www.herber.de/bbs/user/122855.xlsm
Gruß
Michael
Anzeige
AW: Punktetabelle für Turniere
24.07.2018 20:22:43
Barbaraa
Sorry, habe wenig Zeit zur Zeit.
Ausserdem ist mir Deine Frage
"Könntest Du mir bitte nur für ein einziges Textfeld den Code schreiben? "
nicht ganz klar, weil die Tabelle leer ist.
Vielleicht kann wer anderer weiter helfen.
LGB

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige