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
#1
Hallo Leute!
Ich hab da mal wieder eine Frage!
Wie kann ich die Anzahle ermitteln wenn jedesmal eine neue Zeile eingefüght wird?
In meiner Tabelle wird über eine Userform Namen eingefügt, nun möchte ich die Anzahl der Namen ermitteln.
Wenn Ihr die Tabelle seht stehen dort mehere oder können mehere Clubs eingetragen werden und dort werden Variabel die Namen dazu eingetragen. Wie ist es möglich die Anzahle der Namen ( Spieler ) zu ermitteln?

Vielen Dank für eure Hilfe


Angehängte Dateien
.xlsm   RE_Michael_42.xlsm (Größe: 94,4 KB / Downloads: 10)
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#2
Hallo Michael,

würde die Formel von Excel =ANZAHL2(A6:A200) dein Problem auf der Tabelle Beispiel erledigen?
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top
#3
Hallo Heinz!

Leider ist es nicht das was ich wollte!
Vieleicht habe ich mich ja auch wieder nicht richtig ausgedrückt.
Habe die Datei nochmals erweitert, im Tabellenblatt Beispiel sind 3 Clubs eingetragen.
Nun soll in der Spalte AS die anzahl der Spieler für den jeweiligen Club ermittellt werden.
Dabei ist zu beachten das noch Spieler hinzukommem können.
Ist dies über eine Formel oder nur über VBA zu lösen?
Habe im moment keine Huh

Für Tipps oder Hilfe Danke ich allen schon mal im voraus!


Angehängte Dateien
.xlsm   RE_Michael_42.xlsm (Größe: 96,02 KB / Downloads: 6)
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#4
Hallo Michael,

dann probiere es mal so:

=ANZAHL2(A4:A25)-ZÄHLENWENN(A4:A25;"Clubname")-ZÄHLENWENN(A4:A25;"Name")
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top
#5
Hallo Heinz!
Das funktioniert nicht so wie ich das möchte!
Wenn ich die Formel einbaue sieht es am anfahng gut aus, doch sobald ein neuer Club und Namen eingefügt sind ist es nicht mehr das was ich gerne möchte.
Mein Zitat:
"Nun soll in der Spalte AS die anzahl der Spieler Nur für den jeweiligen Club ermittellt werden."
Habe da was vergessen, ist markiert.
Tabelle ist nochmals mit angehangen, dort ist auch der bereich bunt dargestellt was gezählt werden soll.
Aber wie auch schon erwähnt ist die Tabelle variabel es könne immer neue Spieler eingetragen oder gelöscht werden.

Ich hoffe du oder ein anderer kann weiter helfen.


Angehängte Dateien
.xlsm   RE_Michael_42.xlsm (Größe: 96,88 KB / Downloads: 2)
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#6
Hallo Michel,

ich habe mal einen etwas eigenwilligen Vorschlag Wink

Ich habe den BEREICH mit den NAMEN über TABELLE EINFÜGEN in eine TABELLE umgewandelt. Das müsste dann für jeden Club je eine TABELLE werden. Dann habe ich über einen Bezug auf die Spalte NAME das TEILERGEBNIS berechnet. Hier gibt es die Option 103 für die Anzahl der Einträge. ANZAHL2 hätte es aber auch getan. Ich habe dann mal noch den Code zum Einfügen einer Weiteren Tabelle und zum Eintrag der Formel für die Anzahl Spieler aufgezeichnet und etwas optimiert. Du findest ihn in Modul 6 und musst ihn an geeigneter Stelle in Deinen code einfügen. Du musst die Zeilen und die Nummer 4 für die Tabelle noch flexibel gestalten.

Arbeitsblatt mit dem Namen 'Beispiel'
 ABARAS
4ClubnameEinzel Personen Anzahl Spieler
5NameVornameHolz Club4
6SilkeJona13 
7WitiHeinz  
8ButterweckMichael  
9AlbersHans  

ZelleFormatWert
A4TT.MM.JJ;@Clubname
B4TT.MM.JJ;@Einzel Personen

ZelleFormel
AS5=TEILERGEBNIS(103;Tabelle1[Name])
AR6=ANZAHL2(A6:A208)
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg


Angehängte Dateien
.xlsm   RE_Michael_43.xlsm (Größe: 73,81 KB / Downloads: 4)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Hallo Michael,

bei meinen Vorschlag mußt Du die zwei folgenden Makros austauschen.

Das erste ist der CommandButton2

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
            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
               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

und CommandButton7
Code:
Private Sub CommandButton7_Click()
    Dim lngLetzte As Long
    
    If TextBox10 <> "" Then
        'Ist die Zelle B4 leer?
        With Worksheets("Beispiel")
            If .Cells(4, 2) = "" Then
                .Cells(4, 2) = TextBox10
                .Cells(5, 45) = 0
            Else
                lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
                lngLetzte = lngLetzte + 2
                .Range("A4:AR5").Copy .Cells(lngLetzte, 1)
                .Cells(lngLetzte, 2) = TextBox10
                .Cells(lngLetzte, 45).Offset(1, 0) = 0
                Application.CutCopyMode = False
            End If
        End With
        'es ist günstiger, die Tabelle Auswertung nach der zweiten If-Abfrage zu befüllen, da nur einmal der Code nötig ist
        With Worksheets("Auswertung")
            lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 2)), .Cells(.Rows.Count, 2).End(xlUp).Row, .Rows.Count)
            lngLetzte = lngLetzte + 1
            .Cells(lngLetzte, 2) = TextBox10
        End With
    Else
        MsgBox "Kein neuer Club eingetragen!"
    End If
    ComboBoxenFuellen
End Sub

Da bei beiden Makros jeweils nur 2 Codezeilen eingefügt wurden habe ich darauf verzichtet, sie zu kommentieren. Wenn Du die bisherigen mit den neuen vergleichst, findest Du raus, was ich geändert habe. Und das zu verstehen, ist nicht schwer.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#8
Hallo Leute!
Muss das erstmal verarbeiten Huh und dann an euch eventuell neu schreiben.

Ich Danke euch ersteinmal für eure Antwort!
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#9
Hallo!
Da bin ich wieder habe beides getestet und finde beides super.
Danke nochmals für die Hilfe von Euch. Habe aber die nächsten fragen an die Experten.
Wie kann ich die Summe in Spalte AR errechnen?
Heißt die Summen in Spalte AM von den Club und den jewiligen Spielern werden addiert und in Spalte AR eingetragen.
So das ich weiß wieviel Holz die Manschaft geworfen hat.
Da die Tabelle ja Dynamisch ist, hab ich dort meine probleme.
Hab das mal in der Tabelle farbig dargestellt.
Das andere ist, es soll dann nochmals gerechnet werden und das in der Spalte AS.
Die Formel wäre etwa so = SUMME AR (Holz Club)/AS (Anzahl der Spieler).
Wie geht das. Tipps und Vorschläge gerne Willkommen.


Angehängte Dateien
.xlsm   RE_Michael_42.xlsm (Größe: 93,25 KB / Downloads: 7)
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#10
(26.06.2014, 22:13)michel34497 schrieb: Wie kann ich die Summe in Spalte AR errechnen?
Heißt die Summen in Spalte AM von den Club und den jewiligen Spielern werden addiert und in Spalte AR eingetragen.

da würde ich mal mit SUMMEWENN oder SUMMEWENNS oder SUMMENPRODUKT oder mit Pivot-Tabelle (finde ich am einfachsten und flexibelsten) Versuche machen.
Antworten Top


Gehe zu:


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