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

Forumthread: Mehrer Zeilen gruppieren und addieren VBA

Mehrer Zeilen gruppieren und addieren VBA
08.11.2017 16:12:18
Kevin
Hallo zusammen,
ich versuche seit einiger Zeit, meine Excel Tabelle mit Hilfe eines Makros zu sortieren, gruppieren und anschließend addieren.
Leider funktioniert es nicht so wie gewollt.
Hier ein kleines Beispiel:
Userbild
Zu sehen meine Tabelle die bearbeitet werden muss.
In Zeile 6 und 8 hab ich zb. die gleichen Artikelnummern, diese Zeilen möchte ich zusammenfügen und anschließend das Duplikat löschen.
Wichtig ist allerdings das die Menge der Gutteile und die Menge Ausschuss zusammen addiert wird.
Die Zeilen variieren allerdings und sind nicht immer die gleichen, das heißt man müsste immer an der letzt beschrieben Zeile nach oben arbeiten.
So sollte es dann aussehen:
Userbild
Anschließend möchte ich eine prozentuale Auswertung durchführen, die mir in Spalte F auswertet wie hoch mein Ausschuss zur den produzierten Gutteilen ist.
Ich hoffe, ich konnte es verständlich erklären. Leider sind meine Kenntnisse im Bereich VBA begrenzt.
Vielen Dank im Vorfeld für jegliche Hilfe.
Grüße Kevin
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mehrer Zeilen gruppieren und addieren VBA
08.11.2017 16:44:40
ChrisL
Hi Kevin
Bitte Excel-Beispieldateien und keine Bilder (wer schreibt schon gerne Tabellen ab).
Sub t()
Dim lngLetzteZ As Long
With ActiveSheet
lngLetzteZ = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("Y2:Y" & lngLetzteZ).Formula = "=SUMIF(A:A,A2,D:D)"
.Range("Z2:Z" & lngLetzteZ).Formula = "=SUMIF(A:A,A2,E:E)"
.Range("D2:D" & lngLetzteZ).Value = .Range("Y2:Y" & lngLetzteZ).Value
.Range("E2:E" & lngLetzteZ).Value = .Range("Z2:Z" & lngLetzteZ).Value
.Range("Y1:Z1").EntireColumn.Delete
.Range("A1:E" & lngLetzteZ).RemoveDuplicates Columns:=1, Header:=xlYes
End With
End Sub
Spalte Y + Z wird als Hilfsspalte verwendet. Sortieren schaffst du alleine ;)
cu
Chris
Anzeige
AW: Mehrer Zeilen gruppieren und addieren VBA
08.11.2017 17:34:59
Kevin
Hi Chris,
vielen Dank erstmal für deinen Code,
allerdings funktioniert er nicht wie gewollt.
Ich kann den VBA Code nicht mehr speichern und er bringt einen Fehler.
Siehe Bilder im Anhang.
Userbild
Userbild
Userbild
Grüße Kevin
Anzeige
AW: Mehrer Zeilen gruppieren und addieren VBA
08.11.2017 18:34:20
ChrisL
Hi Kevin
Es werden Duplikate (ganze Zeilen) gelöscht. Wenn Zeilen verbunden sind, dann geht das nicht.
cu
Chris
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilen in Excel gruppieren und addieren mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade die Tabelle, die Du bearbeiten möchtest.

  2. Öffne den VBA-Editor. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu starten.

  3. Füge ein neues Modul hinzu. Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".

  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub t()
        Dim lngLetzteZ As Long
        With ActiveSheet
            lngLetzteZ = .Cells(Rows.Count, 1).End(xlUp).Row
            .Range("Y2:Y" & lngLetzteZ).Formula = "=SUMIF(A:A,A2,D:D)"
            .Range("Z2:Z" & lngLetzteZ).Formula = "=SUMIF(A:A,A2,E:E)"
            .Range("D2:D" & lngLetzteZ).Value = .Range("Y2:Y" & lngLetzteZ).Value
            .Range("E2:E" & lngLetzteZ).Value = .Range("Z2:Z" & lngLetzteZ).Value
            .Range("Y1:Z1").EntireColumn.Delete
            .Range("A1:E" & lngLetzteZ).RemoveDuplicates Columns:=1, Header:=xlYes
        End With
    End Sub
  5. Führe das Makro aus. Gehe zurück nach Excel, drücke ALT + F8, wähle das Makro t aus und klicke auf „Ausführen“.

  6. Überprüfe die Ergebnisse. Deine Tabelle sollte nun die gewünschten zusammengefassten und addierten Werte anzeigen.


Häufige Fehler und Lösungen

  • Fehler beim Speichern des Codes: Stelle sicher, dass Du die Datei im .xlsm-Format speicherst, da dieses Format Makros unterstützt.
  • Duplikate werden nicht gelöscht: Wenn Du verbundene Zellen hast, kann Excel diese nicht korrekt bearbeiten. Stelle sicher, dass alle Zellen in den betreffenden Zeilen unverbunden sind.
  • Fehler bei der Ausführung: Überprüfe, ob die Spaltenbezüge im VBA-Code korrekt sind. Achte darauf, dass die Spalten A, D und E die richtigen Daten enthalten.

Alternative Methoden

Falls Du VBA nicht verwenden möchtest, kannst Du auch die PivotTable-Funktion nutzen:

  1. Markiere die Daten in Deiner Tabelle.
  2. Gehe zu „Einfügen“ > „PivotTable“.
  3. Wähle die gewünschten Felder aus, um die Daten nach Artikelnummern zu gruppieren und summiere die Mengen.
  4. Anpassungen kannst Du in den PivotTable-Optionen vornehmen.

Praktische Beispiele

Angenommen, Du hast folgende Daten:

Artikelnummer Gutteile Ausschuss
1001 50 5
1001 30 2
1002 20 1

Nach der Anwendung des Makros sollte das Ergebnis so aussehen:

Artikelnummer Gutteile Ausschuss
1001 80 7
1002 20 1

Du kannst auch die prozentuale Auswertung in einer neuen Spalte (z. B. Spalte F) hinzufügen, um den Ausschuss zu den produzierten Gutteilen zu berechnen.


Tipps für Profis

  • Verwende benannte Bereiche für eine einfachere Handhabung der Daten. Das macht Deinen VBA-Code übersichtlicher.
  • Automatisiere die Ausführung des Makros beim Öffnen der Datei, indem Du den Code in die Workbook_Open()-Prozedur einfügst.
  • Nutze Kommentare im Code, um die Funktionen der einzelnen Zeilen für Dich selbst oder andere Benutzer verständlicher zu machen.

FAQ: Häufige Fragen

1. Kann ich das Makro auch für mehrere Spalten verwenden? Ja, Du kannst den Code anpassen, um mehrere Spalten zu gruppieren und zu summieren. Füge einfach weitere SUMIF-Formeln für die gewünschten Spalten hinzu.

2. Wie kann ich die duplizierten Zeilen erkennen, bevor ich sie lösche? Du kannst die bedingte Formatierung in Excel verwenden, um Duplikate hervorzuheben, bevor Du das Makro ausführst.

3. Welche Excel-Version benötige ich? Der bereitgestellte VBA-Code sollte in Excel 2010 und späteren Versionen funktionieren.

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