Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA summe einer tabelle über mehrere blätter

VBA summe einer tabelle über mehrere blätter
14.03.2017 15:46:00
Matthias
Hey liebe experten :)
ich hab mal wieder ein kleines Problem und komm nicht weiter... hoffe ihr könnt mir helfen
ich hab Tabellenblätter die alle die gleiche Struktur aufweisen und will die jetzt in der gleichen Struktur mittels vba in ein neues Tabellenblatt (ausgabe) zusammenfassen - sprich die einzelnen werte der gleichen zellen sollen zusammengefasst werden
Bsp.: Test1 & Test2 haben den gleichen Aufbau, nun sollen die Zellen D5 beider Blätter addiert werden und in D5 der Ausgabe soll die Summe eingespielt werden
Hier mein Ansatz Sub Aktualisieren() Dim wks As Variant Dim test As Variant Dim Wert(1 To 40, 1 To 10) As Long Set wb = ThisWorkbook test = Array("Test1", "Test2") For zeile = 5 To 10 For spalte = 4 To 6 For Each wks In test With wb.Worksheets(wks) Wert(zeile, spalte) = Wert(zeile, spalte) + .Cells(zeile, spalte).Value End With wb.Worksheets("Ausgabe").Cells(zeile, spalte).Value = Wert(zeile, spalte) Next wks Next spalte Next zeile End Sub
ich denke mein Fehler liegt in der Berechnung (wert = wert + ...) oder in der Verknüpfung der Schleifen zeile und spalte?
Hoffe ihr könnt mir helfen und das ich wieder etwas dazulernen kann :)
Vielen Dank
Matthias
Anzeige

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

Betreff
Datum
Anwender
Anzeige
geht auch ohne VBA
14.03.2017 15:52:40
Matthias
Hallo
Test1

 A
11
22
33


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


Test2

 A
12
24
36


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


Summe

 A
13
26
39

Formeln der Tabelle
ZelleFormel
A1=SUMME(Test1:Test2!A1)
A2=SUMME(Test1:Test2!A2)
A3=SUMME(Test1:Test2!A3)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Matthias
Anzeige
Konsolidieren?
14.03.2017 15:53:35
Michael
Hallo!
Bevor hier Code-Verrenkungen praktiziert werden: Kennst Du die Möglichkeit Listen zu konsolidieren? Mehr Infos dazu hier: http://www.online-excel.de/excel/singsel.php?f=100
Denn wenn es stimmt, dass Tabellenblätter die alle die gleiche Struktur aufweisen benötigst Du ggf. gar keine VBA-Lösung.
LG
Michael
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA zur Summierung von Werten über mehrere Tabellenblätter


Schritt-für-Schritt-Anleitung

Um Werte aus mehreren Tabellenblättern in Excel zu addieren, kannst du VBA 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. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub Aktualisieren()
       Dim wks As Variant
       Dim test As Variant
       Dim Wert(1 To 40, 1 To 10) As Long
       Set wb = ThisWorkbook
       test = Array("Test1", "Test2")
    
       For zeile = 5 To 10
           For spalte = 4 To 6
               For Each wks In test
                   With wb.Worksheets(wks)
                       Wert(zeile, spalte) = Wert(zeile, spalte) + .Cells(zeile, spalte).Value
                   End With
                   wb.Worksheets("Ausgabe").Cells(zeile, spalte).Value = Wert(zeile, spalte)
               Next wks
           Next spalte
       Next zeile
    End Sub
  4. Ändere die Namen der Blätter in der test-Array-Zeile, falls deine Blätter anders heißen.

  5. Führe das Skript aus, um die Summen in das Ausgabe-Tabellenblatt zu übertragen.


Häufige Fehler und Lösungen

  • Fehler: Nichts passiert nach dem Ausführen des Codes.

    • Lösung: Überprüfe, ob die Namen der Tabellenblätter im test-Array korrekt sind.
  • Fehler: Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs.

    • Lösung: Stelle sicher, dass alle genannten Blätter existieren und keine Tippfehler in den Namen sind.
  • Fehler: Summe wird nicht korrekt angezeigt.

    • Lösung: Kontrolliere, ob die Zellreferenzen im Code korrekt sind und die richtigen Spalten und Zeilen summiert werden.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die SUMME-Funktion nutzen:

  • Verwende die Formel =SUMME(Test1:Test2!D5) in der Zelle, in der die Summe angezeigt werden soll. Diese Methode funktioniert, wenn deine Blätter benannt sind und eine aufeinanderfolgende Reihenfolge haben.
  • Eine andere Möglichkeit ist die Konsolidierungsfunktion von Excel. Diese findest du unter Daten > Konsolidieren. Hier kannst du die Bereiche der einzelnen Blätter angeben und die Summe automatisch berechnen lassen.

Praktische Beispiele

Angenommen, du hast zwei Tabellenblätter, Test1 und Test2, die beide in den Zellen D5, D6 und D7 Werte enthalten. Um die Summe aus diesen Zellen in einem neuen Blatt Ausgabe zu berechnen, kannst du die folgende Formel verwenden:

=SUMME(Test1:Test2!D5)  ' Für die Summe von D5
=SUMME(Test1:Test2!D6)  ' Für die Summe von D6
=SUMME(Test1:Test2!D7)  ' Für die Summe von D7

Wenn du die VBA-Methode verwendest, wird der Code die Werte in Ausgabe direkt summieren.


Tipps für Profis

  • Nutze Namensbereiche, um die Handhabung der Daten zu vereinfachen. Benenne die Bereiche auf jedem Blatt, um die Formeln und den VBA-Code klarer zu gestalten.
  • Bei Verwendung der VBA-Methode, stelle sicher, dass deine Daten regelmäßig aktualisiert werden, um die Ergebnisse immer auf dem neuesten Stand zu halten.
  • Experimentiere mit Fehlerbehandlungsroutinen in deinem VBA-Code, um unerwartete Fehler abzufangen und die Benutzerfreundlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich Werte aus mehr als zwei Blättern addieren?
Du kannst einfach die Namen der weiteren Blätter im test-Array hinzufügen, z.B. test = Array("Test1", "Test2", "Test3").

2. Ist es möglich, die Summe aus unterschiedlichen Zellen zu berechnen?
Ja, du kannst die Zellreferenzen im Code oder in den Formeln entsprechend anpassen, um andere Zellen zusammenzufassen.

3. Funktioniert das auch in älteren Excel-Versionen?
Ja, die beschriebenen Methoden funktionieren in den meisten Excel-Versionen, die VBA unterstützen, z.B. Excel 2010 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige