Anzeige
Archiv - Navigation
1644to1648
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

Dart Liste Spieler Eintragen Verlierer fänt an

Dart Liste Spieler Eintragen Verlierer fänt an
20.09.2018 20:35:10
Ulli
Hallo VBA User…
Ich möchte eine Excel Tabelle mit VBA erstellen bei der ich im ersten Spiel per Textbox in einer Userform die Namen der Mitspieler eintrage. Das funktioniert auch perfekt.
Nachdem das Spiel gespielt worden ist, und ein Verlierer ermittelt ist, soll dann ein neues Spiel per Befehlsbutton gestartet werden.
Und hier komme ich zu meinem Problem.
Bei betätigen des Befehlsbuttons, sollen alle Spieler wieder in die Liste eingetragen werden, jedoch soll der Verlierer vorne an erster Position stehen und die Reihenfolge soll die gleiche bleiben (Verlierer fängt an und nicht erster, zweiter, dritter oder so)
Spieler Anzahl maximal 8 . Die Namen stehen in den Zeilen B2 bis I2 Und die Ergebnisse stehen dann in B27 bis I27. Alle Nichtverlierer haben am Schluss einen Punktestand von Null.
Nur der Verlierer behält Punkte übrig.
Wie kann man es hinbekommen, dass die Spieler Automatisch in alter Reihenfolge (Der Vordermann bleibt immer der gleiche) für das neue Spiel in B2 bis I2 eingetragen werden?
Und wenn es mal weniger Spieler sind, sollen die Namen natürlich auch immer in den vorderen Zellen stehen.
kann mir hierzu jemand helfen ?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dart Liste Spieler Eintragen Verlierer fänt an
20.09.2018 21:00:36
onur
Wenn du jedem Spieler in irgend einer Spalte eine Nr für die Reihenfolge zuweist (1-8) und diese Nummer, wenn er Verlierer ist, mal -1 nimmst (also Vorzeichen änderst), brauchst du nur noch nach dieser Nummer aufsteigend zu sortieren (per Makro) und hast immer den Verlierer als Ersten und die Anderen behalten ihre Reihenfolge bei.
Wenn die Runde zu Ende ist, musst du nur noch alle Vorzeichen auf plus stellen und den neuen Verlierer wider auf minus.
An deiner Stelle würde ich aber, wie bei Datensätzen meistens üblich, die Namen unter- statt nebeneinander schreiben, erleichtert auch das Sortieren.
Anzeige
AW: Dart Liste Spieler Eintragen Verlierer fänt an
20.09.2018 21:29:13
Sepp
Hallo Ulli,
probier mal.
Sub newGame()
  Dim varPlayers As Variant, varNew() As Variant, varRet As Variant
  Dim lngCol As Long, lngIndex As Long
  With ActiveSheet
    If Application.CountA(.Range("B2:I2")) > 1 And Application.Max(.Range("B27:I27")) > 0 Then
      lngCol = Application.Max(2, .Cells(2, .Columns.Count).End(xlToLeft).Column)
      varPlayers = .Range(.Cells(2, 2), .Cells(2, lngCol))
      varRet = Application.Match(Application.Max(.Range("B27").Resize(1, lngCol - 1)), _
        .Range("B27").Resize(1, lngCol - 1), 0)
      If IsNumeric(varRet) Then
        If varRet > 1 Then
          Redim varNew(1 To 1, 1 To Ubound(varPlayers, 2))
          For lngIndex = 1 To Ubound(varPlayers, 2)
            varNew(1, lngIndex) = varPlayers(1, varRet)
            varRet = varRet + 1
            If varRet > Ubound(varPlayers, 2) Then varRet = 1
          Next
          .Range("B2").Resize(1, Ubound(varPlayers, 2)) = varNew
        End If
        .Range("B27:I27") = ""
      End If
    End If
  End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Dart Liste Spieler Eintragen Verlierer fänt an
20.09.2018 22:31:15
Ulli
Hallo Sepp,
Danke für Deinen code...
Was soll ich sagen, genau das habe ich gesucht. danke dir.
Jetzt kann es weiter gehen ;-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige