Addition von mehreren Tabellen
Hallo Crackz,
Ausgangssituation:
Excel 2003
10 Ordner (Januar bis Oktober)
in jedem Ordner sind 36 Dateien, alle gleich aufgebaut
Mein Problem:
Ich möchte die Zellen b2:c20 aller Tabellen jeweils in den Zellen b2:c20 addieren. Also je die Zelle b2 aller Tabellen in Zelle B2 in eine Zusammenfassung usw.
Ich hab hier zwar ähnliches gelesen, das funzt nur nicht.
Konsolidieren scheidet meines Erachtens wegen der Massen (360 Tabellen) aus.
Wie kann ich vorgehen.
VIelen Dank im Voraus.
m-o-m
Antwort schreiben
Antwort 1 von Saarbauer vom 08.10.2019, 12:25 Options
Hallo,
nur ein Lösungsansatz,
in jedem Ordner erst mal die 36 Dateien zusammenfassen und dann diese Sammeldateien in einer Datei zusammenfassen.
Gruß
Helmut
Antwort 2 von m-o-m vom 10.10.2019, 16:11 Options
Hallo Helmut,
Danke für den Tipp, hab ich dann auch so gemacht.
Dachte aber es geht irgendwie per Makro.
Gruß
m-o-m
Antwort 3 von Saarbauer vom 11.10.2019, 09:24 Options
Hallo,
eine Lösung über Makro ist bestimmt machbar, aber dazu wären ein paar Angaben mehr erforderlich, wie z.B. Dateinamen, Ordnerbezeichnung.
Gruß
Helmut
Antwort 4 von coros vom 11.10.2019, 10:05 Options
Hallo m-o-m,
nachfolgend mal ein Beispiel, dass Dir alle Exceldateien in einem Verzeichnis mit allen Unterverzeichnissen öffnet, den Wert aus Zelle B2 ausließt und zu dem Wert einer Variablen (Summe_B2) dazu addiert. Am Ende wird Dir das Ergebnis in einer MessageBox angezeigt.
Kopiere das Makro in ein StandardModul und starte das Makro "
Summenbildung_start", da es ansonsten nicht funktioniert.
[b]Option Explicit
Dim Pfad As String
Dim Obj As Object
Dim Dateien As Object
Dim Durchläufe As Object
Dim Dateityp As Object
Dim i As Integer
Dim j As Integer
Dim Summe_B2 As Variant
Sub Summenbildung_start()
Pfad = "C:\Beispielmappen\"
Set Obj = CreateObject("Scripting.FileSystemObject")
Set Dateien = Obj.getfolder(Pfad)
Summenbildung
MsgBox Summe_B2
End Sub
Sub Summenbildung()
Application.ScreenUpdating = False
For Each Dateityp In Dateien.Files
If Right(Dateityp.Name, 4) = ".xls" Then
GetObject (Dateityp)
Summe_B2 = Workbooks(Dateityp.Name).Sheets(1).Range("B2") + Summe_B2
End If
Next
For Each Durchläufe In Dateien.subfolders
Set Dateien = Durchläufe
Summenbildung
Next
End Sub[/b]
Bei Problemen melde Dich. Allerdings dann bitte mit mehr angaben, wie bereits von Helmut angesprochen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von m-o-m vom 11.10.2019, 11:14 Options
Hallo Helmut, hallo Oliver,
Makro funzt leider nicht. (Wahrscheinlich mache ich einfach irgendwas falsch)
Ich habe die Makros in einer Excel eingefügt und diese im Ordner Rechnungen gespeichert.
Hier die Infos:
ein Ordner: Rechnungen
in diesem Ordner sind 10 Ordner, die jeweils benannt sind: 0107, 0207,0307 usw.
in diesen Ordnern sind jeweils 36 Exceldateien die wie folgt benannt sind:
in Ordner 0107: Name_01_01_KB, Name_02_01_KB, Name_03_01_KB usw.
in Ordner 0207: Name_01_02_KB, Name_02_02_KB, Name_03_02_KB usw.
in Ordner 0307 etc. wie oben
Name(überall identisch)_01(steht für das Objekt)_02(steht für den Monat)_KB(überall identisch)
In der Zeile bleibt er hängen:
Sub Summenbildung()
Application.ScreenUpdating = False
For Each Dateityp In Dateien.Files
Ich hoffe die erforderlichen Infos verständlich und ausreichend gegeben zuhaben.
Und auf jeden Fall schonmal ein großes Danke für die Mühe.
Gruß
m-o-m
Antwort 6 von coros vom 11.10.2019, 11:18 Options
Hallo m-o-m,
was sind das für Dateien, die ausgelesen werden sollen?
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 7 von coros vom 11.10.2019, 11:19 Options
Hi, ich nochmal,
Du musst logischerweise im Makro in der Zeile
Pfad = "C:\Beispielmappen\"
den Pfad anpassen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 8 von coros vom 11.10.2019, 11:21 Options
Und nochmal ich,
was man nicht im Kopf hat, hat man in den Händen...
Die Datei, in der sich das Makro befindet, darf nicht im gleichen Ordner wie die auszulesenden Dateien liegen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.