Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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 7 Office 2007
to 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.
to 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 7 Office 2007
to 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.
to 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 7 Office 2007
to top
#6
Hallo Michel,

ich habe mal einen etwas eigenwilligen Vorschlag ;-)

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-2016)
to 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 7 / Office 2007
to 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 7 Office 2007
to 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 7 Office 2007
to 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.
Gruß Ralf

?mage

Die deutsche Rechtschreibung ist Freeware, d.h. du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, deswegen darfst du sie nicht verändern oder in veränderter Form veröffentlichen.
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Datum aus Zeile 1 in Formel in Zeile 2 Mcnick78 2 33 Vor 3 Stunden
Letzter Beitrag: shift-del
  wenn in tabelle wert in spalte dann neue spalte in neuer tabelle merzens 4 94 16.11.2016, 13:44
Letzter Beitrag: schauan
Question Eine bestimmte Feldformatierung, wenn in gleicher Zeile ein Wort vorkommt Olivenbaum2013 11 168 15.11.2016, 11:33
Letzter Beitrag: Olivenbaum2013
  Datensatz (Zeile) aufteilen in neue Zeilen Absolut Hugo 1 65 13.11.2016, 17:33
Letzter Beitrag: shift-del
Lightbulb VBA Zeile in eine Arbeitsmappe kopieren wenn in der Zeile eine 1 steht Olossos 8 119 11.11.2016, 17:08
Letzter Beitrag: Kuwer
Question Anzahl der Einträge in einer Zeile zählen (nicht Zahlen) Olivenbaum2013 6 88 11.11.2016, 10:35
Letzter Beitrag: Olivenbaum2013
  Zählen wenn Bernd 6 174 08.10.2016, 14:57
Letzter Beitrag: Bernd
  Zeile kopieren - Anzahl wie in Zeile July0210 10 219 26.09.2016, 10:08
Letzter Beitrag: July0210
  Zählen, wenn kazzz 1 78 20.09.2016, 08:39
Letzter Beitrag: steve1da
  Wenn in Spalte C keine Füllfarbe, dann ganze Zeile löschen grummelbaer 22 684 19.09.2016, 08:55
Letzter Beitrag: IchBinIch

Gehe zu:


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