Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wie zählen, wenn neue Zeile eingefügt
#11
Hallo Michael,

habe die Formel im Code integriert. Wenn nur ein Spieler im Club ist, habe ich keinen Durchschnitt eingetragen. Wenn Du das aber willst, könntest Du die Zeile selber eintragen.

Code:
Private Sub CommandButton2_Click() ' Club auswählen und Namen eintragen
   Dim rngZelle As Range
   Dim lngZeile As Long
   Dim lngZaehler As Long
   Dim lngSpalte As Long
   Dim blnVorhanden As Boolean
   Dim lngLetzte As Long
   'falls ein OptionButton ausgewählt ist
   If OptionButton1.Value Xor OptionButton2.Value Then
      ' Club ausgewählt und Name/Vorname eingetragen
      If ComboBox12 <> "" And TextBox1 <> "" And TextBox11 <> "" Then
         ' Zeile mit Clubname suchen
         Set rngZelle = Columns(2).Find(ComboBox12, lookat:=xlWhole, LookIn:=xlValues)
         ' Clubname gefunden
         If Not rngZelle Is Nothing Then
            ' es sind noch keine Namen eingetragen
            If rngZelle.Row + 2 > rngZelle.End(xlDown).Row Then
               ' Zeile einfügen
               Rows(rngZelle.Row + 2).Insert shift:=xlDown
               ' Name und Vorname in die neue Zeile
               rngZelle.Offset(2, -1) = TextBox1
               rngZelle.Offset(2, 0) = TextBox11
               ' Format kopieren und in neue Zeile übertragen
               Range(rngZelle.Offset(1, -1), rngZelle.Offset(1, 46)).Copy
               rngZelle.Offset(2, -1).PasteSpecial Paste:=xlPasteFormats
               Application.CutCopyMode = False
               ' Füllfarbe zurücksetzen, damit Spalten für Gesamt nicht gelb formatiert sind
               Range(rngZelle.Offset(2, -1), rngZelle.Offset(2, 46)).Interior.ColorIndex = xlNone
               rngZelle.Offset(1, 43) = 1           'Neu eingefügt zum Zählen der Spieler
               'Bezug auf die Summenzelle, da es nur ein Spieler im Club ist
               rngZelle.Offset(2, 42).Formula = "=" & rngZelle.Offset(2, 37).Address(0, 0)
             Else
               ' Schleife über alle Namen, die zum betreffenden Club gehören
               For lngZaehler = rngZelle.Offset(2, 0).Row To rngZelle.End(xlDown).Row
                  ' Name und Vorname stimmen mit TextBoxen überein
                  If Cells(lngZaehler, 1) = TextBox1 And Cells(lngZaehler, 2) = TextBox11 Then
                     ' Variable auf True setzen
                     blnVorhanden = True
                     ' Schleife verlassen
                     Exit For
                  End If
               Next lngZaehler
               ' Variable ist True
               If blnVorhanden Then
                  MsgBox "Diesen Spieler gibt es bereits"
               Else
                  ' nach dem letzten Spieler eine Zeile einfügen
                  Rows(rngZelle.End(xlDown).Row + 1).Insert shift:=xlDown
                  ' Name und Vorname in die neue Zeile
                  Cells(rngZelle.End(xlDown).Row + 1, 1) = TextBox1
                  Cells(rngZelle.End(xlDown).Row + 1, 2) = TextBox11
                  ' Format kopieren und in neue Zeile übertragen
                  Range(Cells(lngZaehler - 1, 1), Cells(lngZaehler - 1, 46)).Copy
                  Cells(lngZaehler, 1).PasteSpecial Paste:=xlPasteFormats
                  Application.CutCopyMode = False
                  rngZelle.Offset(1, 43) = lngZaehler - rngZelle.Offset(2, 0).Row + 1   'Neu eingefügt zum Zählen der Spieler
                  'Eintrag einer Summenformel, da mehr als ein Spieler im Club eingetragen ist
                  rngZelle.Offset(2, 42).Formula = "=sum(" & rngZelle.Offset(2, 37).Address(0, 0) & ":" & Cells(lngZaehler, 39).Address(0, 0) & ")"
                  rngZelle.Offset(2, 43).Formula = "=" & rngZelle.Offset(2, 42).Address(0, 0) & "/" & rngZelle.Offset(1, 43).Address(0, 0)  'der Durchschnitt
               End If
            End If
            
            'Es muß die Spalte entsprechend dem Geschlecht angegeben werden
            If OptionButton1.Value Then
               lngSpalte = 7
            ElseIf OptionButton2.Value Then
               lngSpalte = 13
            End If
            'und die letzte Zeile entsprechend dem Geschlecht gesucht werden
            With Worksheets("Auswertung")
               lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, lngSpalte)), .Cells(.Rows.Count, lngSpalte).End(xlUp).Row, .Rows.Count)
               lngLetzte = lngLetzte + 1
               .Cells(lngLetzte, lngSpalte) = TextBox1
               .Cells(lngLetzte, lngSpalte).Offset(, 1) = TextBox11
               .Cells(lngLetzte, lngSpalte).Offset(, 2) = ComboBox12
            End With
            ' TextBoxen und Set-Variable leeren
            TextBox1 = ""
            TextBox11 = ""
            Set rngZelle = Nothing
            'die Buttons auf false setzen
            OptionButton1.Value = False
            OptionButton2.Value = False
            ComboBoxenFuellen
          End If
      Else
         MsgBox "Bitte Club auswählen und Namen/Vornamen eintragen"
      End If
   'falls kein Geschlecht ausgewählt
   Else
      MsgBox "Das Geschlecht auswählen!"
   End If
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • michel34497
Antworten Top
#12
Hallo Stefan & Michael
beim Spiel simulieren tratt ein Fehler auf

Spiel 2 der 2ten Person lässt sich nicht eintragen.


mfg
Antworten Top
#13
Hallo Frank,

kann ich nicht nachvollziehen. Bei welcher zweiten Person und bei welchem Klub?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#14
Hallo Stefan

Habe 2 neue Vereine mit 6 Personen insgesamt (Pärchenweise) eingepflegt.
1ste Person nur 2 Spiel hintereinander, dann den Ehepartner genommen Spiel 1 OKAY, Spiel 2
"Der Werfer hat seine 5 Wurf schon getan....."
nicht nur einmal probiert, sonst hät ich bestimmt keinen lauten getippselt
Antworten Top
#15
Hallo Frank,

hab ich jetzt getestet, bei mir kam die Fehlermeldung nicht. Könntest Du die fehlerhafte Datei mit den Daten hier hochladen? Und wie war bei dir die Konstellation? Die Ehepartner in verschiedenen Clubs oder im gleichen?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#16
Hallo!
Ersteinmal vielen dank für die Hilfe.
@Frank
Ich glaube wo der fehler ist (weiß es aber nicht genau).
Wenn Ich ein Spiel Auswähle, nehmen wir mal an Spiel 1, dort alle Punkte eintrage und dann den CommandButton Würfe eintragen
betätige werden alle Würfe eingetragen. Wähle ich das Spiel 1 erneut aus und sage dann wieder Würfe eintragen kommt bei mir
auch die Meldung. Ist das so Huh? Wäre vieleicht besser es kommt eine ander Meldung in Form wie "Bei diesen Spiel sind
schonPunkte eingetragen"

@Stefan
Hab das mal getestet :21: Doch leider hast du das etwas falsch verstanden oder ich habe es falsch formoliert! Das errechnen sollte
jedesmal erfolgen wenn ich die Würfe(Punkte) neu eintrage. Nicht, wenn ich einen Neuen Namen eintrage. Habe versucht den Code
dort wo er gebraucht wird einzutragen :33: (mit wenig erfolg)

Kannst du oder ein anderer nochmal weiter helfen?
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#17
Hallo Stefan!

Vergiss was ich geschrieben habe!
Wenn man ausgeschlafen ist versteht und sieht auch was du geschrieben hast.

Danke für die Hilfe!
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste