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

VBA Werte aus Tabelle auslesen und addieren

Forumthread: VBA Werte aus Tabelle auslesen und addieren

VBA Werte aus Tabelle auslesen und addieren
Marie
Hallo zusammen,
ich stehe vor folgender Herausforderung.
Ich habe eine Tabelle, die von der Struktur folgendermaßen aussieht:
Artikel Umsatz
A ..........10
B .........20
C ......... 30
A .........40
B .........50
C ......... 60
Durch ein Makro möchte ich nun die Tabelle nach Artikeln durchsuchen lassen und mir die Gesamtsummen der Umsätze je Artikelgruppe ausweisen lassen.
Das Ergebnis müßte also in etwa folgendermaßen aussehen:
Artikel
Artikel Gesamtumsatz pro Artikelgruppe
A ......... 50
B ......... 70
C ......... 90
Wer kann mir mit diesem Problem weiter helfen ?
Bin für jede Anregung dankbar !!
Lieben Gruß
MARION
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Werte aus Tabelle auslesen und addieren
Hans
Hallo Marion,
=SUMMEWENN(A:A;"A";B:B)
Gruss hans
AW: VBA Werte aus Tabelle auslesen und addieren
Marion
Danke für die schnelle Antwort,
leider gestaltet sich mein Problem ein wenig umfangreicher.
ES ist mir nicht möglich zuerst nach eine bestimmten Kriterium eine Summe zubilden,z.B. nach Artikel A, da meine Liste über einige tausend Datensätze verfügt, die sich ständig ändert, d.h. es kommen laufend neue hinzu.
Ziel ist es durch ein Marko heraus zufinden, welche Artikel in der Tabelle enthalten sind und welche umsätze gemacht wurden. Im Prinzip, wäre eine Lösung über die Funktion Teilergebnisse denkbar. In dieser Funktion werden die Daten ja nach dem sortieren auch Summe ausgeweisen. Allerings muß ich mit den ausgewiesenen Werten anschließemnd noch weiter rechnen, so dass die Funktion Teilergebnisse für mich nicht praktikabel ist.
Ich hoffe, ich habe mein Problem anschaulich dargestellt.
Lieben Gruß
MARION
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Werte aus einer Excel-Tabelle mit VBA auslesen und addieren


Schritt-für-Schritt-Anleitung

Um die Werte aus einer Excel-Tabelle auszulesen und die Umsätze nach Artikelgruppen zu addieren, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Projekt-Explorer mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“, wähle „Einfügen“ und dann „Modul“.

  3. Kopiere den folgenden Code in das Modul:

    Sub SummiereUmsatz()
        Dim ws As Worksheet
        Dim letzteZeile As Long
        Dim dict As Object
        Set dict = CreateObject("Scripting.Dictionary")
    
        Set ws = ThisWorkbook.Sheets("Tabelle1") ' Ändere den Tabellennamen entsprechend
        letzteZeile = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    
        Dim i As Long
        For i = 2 To letzteZeile ' Annahme: Die erste Zeile ist die Überschrift
            Dim artikel As String
            Dim umsatz As Double
    
            artikel = ws.Cells(i, 1).Value
            umsatz = ws.Cells(i, 2).Value
    
            If dict.Exists(artikel) Then
                dict(artikel) = dict(artikel) + umsatz
            Else
                dict.Add artikel, umsatz
            End If
        Next i
    
        ' Ergebnis in eine neue Tabelle schreiben
        Dim zeile As Long
        zeile = 1
        For Each key In dict.Keys
            ws.Cells(zeile, 4).Value = key ' Artikel
            ws.Cells(zeile, 5).Value = dict(key) ' Gesamtumsatz
            zeile = zeile + 1
        Next key
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus: Drücke ALT + F8, wähle „SummiereUmsatz“ und klicke auf „Ausführen“.


Häufige Fehler und Lösungen

  • Problem: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass der Tabellenname im VBA-Code korrekt ist. Ändere Tabelle1 auf den tatsächlichen Namen Deiner Tabelle.
  • Problem: Die Ausgabe erscheint nicht.

    • Lösung: Überprüfe, ob Du die richtigen Zellen für die Ausgabe gewählt hast. In diesem Beispiel werden die Ergebnisse in den Spalten D und E ausgegeben.

Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die SUMMEWENN-Funktion verwenden, um die Umsätze für bestimmte Artikel zu addieren. Zum Beispiel:

=SUMMEWENN(A:A; "A"; B:B)

Diese Formel addiert alle Werte in Spalte B, die zu Artikel A in Spalte A gehören. Beachte jedoch, dass dies bei großen Datensätzen unpraktisch sein kann.


Praktische Beispiele

Angenommen, Du hast folgende Tabelle:

Artikel Umsatz
A 10
B 20
C 30
A 40
B 50
C 60

Nach dem Ausführen des Makros wird die Ausgabe wie folgt aussehen:

Artikel Gesamtumsatz
A 50
B 70
C 90

Hierbei wird die SUMME der Umsätze pro Artikelgruppe automatisch erstellt.


Tipps für Profis

  • Nutze die Dictionary-Objekte in VBA, um die Leistung bei großen Datensätzen zu steigern, da sie schneller sind als Arrays.
  • Stelle sicher, dass Deine Daten sauber sind, d.h. vermeide leere Zeilen oder unformatierte Daten, um Fehler zu minimieren.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen SUMME und SUMMEWENN?
SUMME addiert alle Werte in einem Bereich, während SUMMEWENN nur die Werte addiert, die einem bestimmten Kriterium entsprechen.

2. Kann ich auch mehrere Bedingungen in SUMMEWENN verwenden?
Ja, dafür kannst Du die Funktion SUMMEWENNS verwenden, die die Summe basierend auf mehreren Kriterien berechnet.

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