Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Artikel zusammenfassen und Anzahl addieren

Forumthread: Artikel zusammenfassen und Anzahl addieren

Artikel zusammenfassen und Anzahl addieren
24.01.2019 14:58:28
marc
Hallo Leute,
ich bräuchte da nochmal Hilfe ...
Die Datei:
https://www.herber.de/bbs/user/127066.xlsx
ich wollte via VBA versuchen Artikel mit Gleicher Bezeichnung, Artikelnummer und L ("D","E","G") in eine Zeile zusammen zu fügen aber trotzdem die Anzahl in Spalte "A" zu addieren.
Mal ist Zeile "G" leer mal nicht. Wenn "G" leer ist kann das ignoriert werden. Dann müssen nur die anderen Parameter übereinstimmen.
Ich hoffe mein Vorhaben ist klar =)
Dankeee Marc
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: meinst Du so..... fast =)
24.01.2019 16:13:59
marc
Hi und schonmal vielen Dank.
Leider sollte die Formatierung wie in der Vorlage bleiben. Also die Werte in jeder Spalte wie sie jetzt sind. Mir wäre damit geholfen wenn unter der Tabelle die zusammengefügte Tabelle einfach fortgesetzt wird. Denn ich muss diese dann weiter verarbeiten.
Also Quasi :
'VBA Code zusammenfassen
letzteZeile + 5 'ab hier die neue Tabelle mit der selben Formatierung
Und dann alte Tabelle löschen bzw. Zeilen löschen so das die neue Tabelle ganz oben unter den überschriften ist.
Hätte ich vielleicht vorher sagen sollen sorry
Danke
Anzeige
noch ne VBA Lösung
24.01.2019 16:26:49
UweD
Hallo
so?
Sub dgdgdfd()
    Dim TB1, TB2, Z1 As Integer, LR1 As Long, LR2 As Long
    
    Set TB1 = Sheets("Tabelle1")
    Z1 = 3 'erste Zeile mit Daten 
    
    'Blatt kopieren 
    TB1.Copy after:=Sheets(Sheets.Count)
    Set TB2 = ActiveSheet
    LR1 = TB1.Cells(TB1.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte 
    With TB2
    
        'Duplikate raus 
        .Range("$A:$G").RemoveDuplicates Columns:=Array(4, 5, 7), Header:=xlYes

        'Formel setzen 
        LR2 = .Cells(.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte 

        With .Cells(Z1, 1).Resize(LR2 - Z1 + 1, 1)
            .FormulaR1C1 = _
            "=SUMPRODUCT((" & TB1.Name & "!R" & Z1 & "C4:R" & LR1 & "C4=RC[3])" & _
                        "*(" & TB1.Name & "!R" & Z1 & "C5:R" & LR1 & "C5=RC[4])" & _
                        "*(" & TB1.Name & "!R" & Z1 & "C7:R" & LR1 & "C7=RC[6])" & _
                        "*(" & TB1.Name & "!R" & Z1 & "C1:R" & LR1 & "C1))"
            .Value = .Value
        End With
            
        'Summe ergänzen 
        With .Cells(1, 1).Offset(LR2 + 2, 0)
            .FormulaR1C1 = "=SUM(R[-" & (LR2 - Z1 + 3) & "]C:R[-1]C)"
            .Value = .Value
        End With
        
        
        'ggf Spalten löschen 
        '.Columns(2).Resize(, 2).Delete xlLeft 

    End With
End Sub

Verwendet wird die Formel

A3: =SUMMENPRODUKT((Tabelle1!$D$3:$D$153=D3)*(Tabelle1!$E$3:$E$153=E3)*(Tabelle1!$G$3:$G$153=G3) _
*(Tabelle1!$A$3:$A$153))

Wobei die Zeilenzahlen ermittelt werden
LG UweD
Anzeige
Artikel zusammenfassen und Anzahl addieren
24.01.2019 16:35:32
marc
Vielen Dank . Beide Varianten gehen super und machen es genauso wie ich es brauche.
Ihr seid die Besten =)
DANKE DANKE DANKE
Danke für die Rückmeldung owT
24.01.2019 17:00:06
UweD
;
Anzeige
Anzeige

Infobox / Tutorial

Artikel zusammenfassen und Anzahl addieren in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei. Stelle sicher, dass die Artikel, die Du zusammenfassen möchtest, in den Spalten D (Bezeichnung), E (Artikelnummer) und G (Optional) stehen.

  2. Füge einen neuen Arbeitsblatt hinzu. Dies ist der Ort, an dem Du die zusammengefassten Artikel und ihre Anzahl speichern wirst.

  3. Kopiere die Überschriften. Übertrage die Überschriften von der Originaltabelle in das neue Blatt.

  4. Nutze VBA zur Zusammenfassung:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge ein neues Modul hinzu und kopiere den folgenden Code:
    Sub ArtikelZusammenfassen()
       Dim TB1 As Worksheet, TB2 As Worksheet
       Dim LR1 As Long, LR2 As Long, Z1 As Integer
    
       Set TB1 = ThisWorkbook.Sheets("Tabelle1")
       Set TB2 = ThisWorkbook.Sheets.Add(After:=TB1)
       TB2.Name = "Zusammenfassung"
    
       Z1 = 2 ' Erste Zeile mit Daten in der neuen Tabelle
    
       ' Kopiere die Überschriften
       TB1.Rows(1).Copy TB2.Rows(1)
    
       ' Letzte Zeile der Tabelle ermitteln
       LR1 = TB1.Cells(TB1.Rows.Count, "A").End(xlUp).Row
    
       ' Duplikate entfernen und zusammenfassen
       TB1.Range("$A:$G").RemoveDuplicates Columns:=Array(4, 5, 7), Header:=xlYes
    
       ' Ergebnisse in die neue Tabelle einfügen
       For i = 2 To LR1
           If TB1.Cells(i, 4).Value <> "" Then
               TB2.Cells(Z1, 1).Value = TB1.Cells(i, 4).Value ' Artikelbezeichnung
               TB2.Cells(Z1, 2).Value = TB1.Cells(i, 5).Value ' Artikelnummer
               TB2.Cells(Z1, 3).Formula = "=SUMIF(Tabelle1!D:D, """ & TB1.Cells(i, 4).Value & """, Tabelle1!A:A)"
               Z1 = Z1 + 1
           End If
       Next i
    End Sub
  5. Führe das Skript aus. Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle ArtikelZusammenfassen und klicke auf „Ausführen“.


Häufige Fehler und Lösungen

  • Fehler: „Objekt nicht gefunden“
    Lösung: Überprüfe, ob der Blattname „Tabelle1“ korrekt ist. Ändere ihn gegebenenfalls im VBA-Code.

  • Fehler: „Falsche Datenformatierung“
    Lösung: Stelle sicher, dass die Daten in den betroffenen Spalten als Text oder Zahl formatiert sind.


Alternative Methoden

  • Pivot-Tabellen: Du kannst auch eine Pivot-Tabelle verwenden, um Artikel zusammenzuführen und deren Anzahl anzuzeigen. Wähle die Daten aus, gehe zu „Einfügen“ > „PivotTable“ und folge dem Assistenten.

  • Formeln: Anstelle von VBA kannst Du auch die SUMMENPRODUKT-Formel verwenden, um die Anzahl gleichnamiger Artikel zu zählen:

    =SUMMENPRODUKT((D1:D100="Artikelname")*(E1:E100="Artikelnummer"))

Praktische Beispiele

  • Beispiel 1: Du hast eine Liste mit verschiedenen Artikeln und möchtest alle „Tisch“-Artikel zusammenfassen. Verwende die oben genannten Schritte, um die Artikel zusammenzuführen.

  • Beispiel 2: Wenn Du eine Tabelle mit mehreren Spalten hast, die unterschiedliche Merkmale eines Artikels enthalten, kannst Du die SUMMENPRODUKT-Formel anpassen, um die Artikelnummern zusammenzuzählen.


Tipps für Profis

  • Verwende dynamische Bereiche: Statt fester Zellreferenzen wie D1:D100, nutze dynamische Bereiche oder Tabellen, um die Wartung Deiner Formeln zu erleichtern.

  • Erstelle Makros: Speichere häufig verwendete VBA-Skripte als Makros, um sie schnell wiederverwenden zu können.


FAQ: Häufige Fragen

1. Wie kann ich die zusammengefassten Daten in eine andere Datei exportieren?
Du kannst die zusammengefassten Daten einfach kopieren und in eine andere Excel-Datei einfügen.

2. Welche Excel-Version benötige ich für die VBA-Methoden?
Die oben beschriebenen Methoden funktionieren in den meisten modernen Excel-Versionen, einschließlich Excel 2016 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige