VBA bzw. Makro Programmierung um mehrere, gleichaufgebaute Exceldateien (über 60) in einer seperaten Datei zusammenzuführen
Hallo zusammen,
ich habe folgendes Problem, vllt. kann mir jemand helfen: ich habe rund 60 verschiedene Exceldateien mit jeweils 53 Reitern. 52 Reiter sollen vom Bediener ausgefüllt werden und der letzte Reiter enthält alle Daten des gesamten Jahres in Tabellenform (Name des letzten [bzw. ersten] Reiters in allen 60 Dateien ist "Auswertung 2016").
Aufbau des Reiters Auswertung 2016, welcher so auch in die neue große Auswertung übernommen werden soll:
Datum Name Zeit Beschreibung usw....
xx.xx.xx xxx xx:xx xxx
Alle Dateien liegen in einem Ordner, die Reiter und der Aufbau ist komplett identisch, nur die Benennung der Datei ist unterschiedlich (z.B. B01, B02, B03,...,B60, usw.). Nun möchte ich wöchentlich in einem neuen Tabellenblatt und einem neuen Ordner eine Auswertung fahren und alle gesammelten Daten der 60 Dateien in einer Pivottabelle grafisch darstellen. Kann mir jemand mit einem Makro weiterhelfen?
Vielen Dank und beste Grüße
AlexBerlin
ich habe folgendes Problem, vllt. kann mir jemand helfen: ich habe rund 60 verschiedene Exceldateien mit jeweils 53 Reitern. 52 Reiter sollen vom Bediener ausgefüllt werden und der letzte Reiter enthält alle Daten des gesamten Jahres in Tabellenform (Name des letzten [bzw. ersten] Reiters in allen 60 Dateien ist "Auswertung 2016").
Aufbau des Reiters Auswertung 2016, welcher so auch in die neue große Auswertung übernommen werden soll:
Datum Name Zeit Beschreibung usw....
xx.xx.xx xxx xx:xx xxx
Alle Dateien liegen in einem Ordner, die Reiter und der Aufbau ist komplett identisch, nur die Benennung der Datei ist unterschiedlich (z.B. B01, B02, B03,...,B60, usw.). Nun möchte ich wöchentlich in einem neuen Tabellenblatt und einem neuen Ordner eine Auswertung fahren und alle gesammelten Daten der 60 Dateien in einer Pivottabelle grafisch darstellen. Kann mir jemand mit einem Makro weiterhelfen?
Vielen Dank und beste Grüße
AlexBerlin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 310595
Url: https://administrator.de/contentid/310595
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
9 Kommentare
Neuester Kommentar
Sub MergeWB()
Const FOLDER = "c:\Data"
set fso = CreateObject("Scripting.FileSystemobject")
Application.DisplayAlerts = False
Application.ScreenUpdating = False
With ActiveSheet
for each file in fso.GetFolder(FOLDER).Files
if LCase(fso.GetExtensionName(file.Name)) = "xlsx" then
set ws = GetObject(file.Path).Sheets("Auswertung 2016")
ws.UsedRange.Offset(1,0).Copy
.Cells(Rows.Count,"A").End(xlUp).Offset(1,0).PasteSpecial xlPasteValuesAndNumberFormats
ws.Parent.Close False
End if
next
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Done. See modified code above.
Hallo AlexBerlin
Da ich die Problemstellung nicht kenne ist eine Empfehlung unmöglich.
Ad hoc lässt sich das sowieso nicht auf z.B. MS-Access / MS SQL-Server o.ä. umschreiben.
highload beweist die Richtigkeit meiner Aussage: es gibt nichts was Excel nicht auch kann...
Als Prototyp lassen sich mit Excel viele Aufgaben lösen und das funktioniert auch aber längerfristig ist bei solch einer Vielzahl von Daten ein adäquates Hilfsmittel ratsam.
Viel Glück mit der Lösung!
Da ich die Problemstellung nicht kenne ist eine Empfehlung unmöglich.
Ad hoc lässt sich das sowieso nicht auf z.B. MS-Access / MS SQL-Server o.ä. umschreiben.
highload beweist die Richtigkeit meiner Aussage: es gibt nichts was Excel nicht auch kann...
Als Prototyp lassen sich mit Excel viele Aufgaben lösen und das funktioniert auch aber längerfristig ist bei solch einer Vielzahl von Daten ein adäquates Hilfsmittel ratsam.
Viel Glück mit der Lösung!
Moin AlexBerlin,
ergänzend zu der Antwort von ice.polar auf deine Frage:
Es wäre nicht zielführend und unseriös, dir jetzt zu einer bestimmten handwerklichen Lösung zu raten.
Eine für euch sinnvolle Lösung hängt auch ab von
Wenn ihr da vom Fleck kommen wollt, dann müsst ihr schon einen ins Haus holen, der genau diese Fragen stellt, sich mit der Fachabteilung (den Sachbearbeitern), mit der IT-Technik und der Geschäftsführung austauscht und die Antworten richtig bewerten kann.
Und dann könnt ihr entscheiden, ob ihr weiter so eine (doofe, aber billige und akzeptierte) Zusammenkopier-Lösung mit vielen Prozessbrüchen weiterfahren wollt oder ob ein Leidensdruck da ist, der zu einer Neukonzeption führt.
Grüße
Biber
ergänzend zu der Antwort von ice.polar auf deine Frage:
Zitat von @AlexBerlin:
Ja es gibt sicherlich bessere Lösungen, kannst du eine empfehlen? Ich weiß nicht ob sich das so schnell in Access verwirklichen Lässt (Ein Formular was wöchentlich / täglich ausgefüllt wird)
Ja es gibt sicherlich bessere Lösungen, kannst du eine empfehlen? Ich weiß nicht ob sich das so schnell in Access verwirklichen Lässt (Ein Formular was wöchentlich / täglich ausgefüllt wird)
Es wäre nicht zielführend und unseriös, dir jetzt zu einer bestimmten handwerklichen Lösung zu raten.
Eine für euch sinnvolle Lösung hängt auch ab von
- euren Prozessen: wie viele Nutzer bearbeiten die Daten und tun sie das jeweils "exklusiv" (jeder seinen eigenen Kundenstamm) oder wäre eigentlich ein gemeinsamer Datenpool sinnvoll?
- der Dauerhaftigkeit der Daten - sind diese Tages/Wochen-Arbeitsblätter nur Nebenrechnungen für die Sachbearbeiter und erhaltenswert sind nur die Quartals-/Jahresauswertungen?
- in welcher Infrastruktur würde eine andersartige Lösung laufen -gibt es schon Datenbank-Tools für andere Zwecke oder würdet ihr auf der grünen Wiese bauen?
- wäre denn jemand da, der eine Individuallösung zusammenschroten kann (das kleinste Problem, diese Leute kann man mieten)?
- wäre denn jemand da, der eine Individuallösung pflegen und warten kann (das größere Problem, das sind interne Ressourcen)?
- was passiert denn weiterhin mit den Daten, die du hier mit erweitertem Copy&Paste zusammenharkst? Auch das ist ja wohl kein Selbstzweck - da gibt es bestimmt Folgeprozesse und andere Datenabnehmer.
Wenn ihr da vom Fleck kommen wollt, dann müsst ihr schon einen ins Haus holen, der genau diese Fragen stellt, sich mit der Fachabteilung (den Sachbearbeitern), mit der IT-Technik und der Geschäftsführung austauscht und die Antworten richtig bewerten kann.
Und dann könnt ihr entscheiden, ob ihr weiter so eine (doofe, aber billige und akzeptierte) Zusammenkopier-Lösung mit vielen Prozessbrüchen weiterfahren wollt oder ob ein Leidensdruck da ist, der zu einer Neukonzeption führt.
Grüße
Biber
Simply delete the used range before iterating
ActiveSheet.UsedRange.ClearContents