ich hänge an einer Aufgabe. Über den nachfolgenden Code erhöhe ich über ein Textfeld in einer UserForm die Rundenzahl einzelner Teilnehmer.
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim Startnummer As Integer, Zähler As Integer, i As Integer If KeyCode = 13 Then Zähler = 0 Startnummer = TextBox1 If Startnummer = Startnummer Then Cells(Startnummer + 2, 3) = Cells(Startnummer + 2, 3) + 1 End If With TextBox1 .SelStart = 0 .SelLength = Len(TextBox1.Text) End With End If End Sub
Das funktioniert soweit auch ganz gut. Nur jetzt kann es vorkommen, dass Teilnehmer sich in der gleichen Runde befinden. Ich würde jetzt gerne noch in Spalte D erfassen, wer als 1. die Runde x erreicht hat, wer als 2. usw. Das Ganze sollte sich ständig aktualisieren. Was ich damit meine? Ein Beispiel:
Teilnehmer 1 erreicht als 1. die Runde 10. Danach erreicht der Teilnehmer 3 die 10. Runde. Nun soll in Spalte D bei Teilnehmer 1 die Zahl 1 erscheinen und bei Teilnehmer 3 die Zahl 2. Jetzt kommt Teilnehmer 2 übers Ziel und hat ebenfalls 10 Runden auf seinem Konto. In Spalte D bei Teilnehmer 2 soll die Zahl 3 erscheinen. In der nächsten Runde kommt aber Teilnehmer 3 als 1. über die Ziellinie. In Spalte D soll nun bei Teilnehmer 3 keine Zahl mehr erscheinen, da er im Moment der Einzige ist, der Runde 11 erreicht hat. Es soll erst wieder eine Zahl in Spalte D erscheinen, wenn ein weiterer Teilnehmer die Runde 11 erricht. Gleichzeitig muss aber die Zahl in Spalte D bei Teilnehmer 1 und 2 angepasst werden. Das würde hier bedeuten, in Spalte D bei Teilnehmer 1 bleibt die Zahl 1 stehen, da er der 1. bei Runde 10 war. Bei Teilnehmer 2 muss aber die Zahl 3, weil er ja als 3. die Runde 10 erreichte, in die Zahl 2 geändert werden, da ja der Teilnehmer, der als 2. die Runde 10 erreicht hat, hier also Teilnehmer 3, die Runde 11 als 1. erreicht hat und somit aus dem Ranking von Runde 10 heraus fällt und daher Teilnehmer 2 die Zahl 2 für Runde 10 erhält
Oh man, ich hoffe, es hat überhaupt jemand verstanden, was ich mit meinem geschriebenen zum Ausdruck bringen möchte. Bei Fragen bitte melden, ich werde versuchen die Nachfragen zu beantworten.
Ziel ist es auf jeden Fall, eine Auflistung zu erhalten, aus der man sehen kann, wer 1, wer 2, wer 3. usw. wird. Da eben auch mehrere Teilnehmer die gleiche Rundenzahl haben können muss hier ausgewertet werden, wer als 1., wer als 2., wer als 3. usw. diese Runden erreicht hat. Nachfolgend noch ein Bild vom Aufbau des Tabellenblattes.
Rundeneingabe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ich hoffe, jemand hat die Muße mir da weiterzuhelfen. Bin für jeden Lösungsweg dankbar.
Danke Euch allen,
Kasimir