Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Camus syntax error
Anmeldungsdatum: 25.11.2006 Beiträge: 179
Wohnort: Milchstrasse
|
(#641069) Verfasst am: 14.01.2007, 23:16 Titel: Excel - Datenblätter - Arbeitsmappe - Konsolidieren |
|
|
Hallo!
Ich habe folgendes "Problem" und hoffe, dass sich hier ein Experte befindet, der mir vllt helfen kann:
Ich habe mehrere Exceldateien mit stets den gleichen Spaltenüberschriften, z.B. Name, Vorname, Firma, Kundennummer, Produkt. Diese möchte ich nun zu einer Datei z.B. "Konsolidiert1" zusammenfassen, ... aber so, dass aus den urspünglichen Dateien ein Tabellenblatt in "Konsolidiert1" wird. Aus Datei1, Datei2, Datei3 ... usw. soll Tabellenblatt1, Tabellenblatt2, Tabellenblat3 usw ... in "Konsolidiert1" werden. Gibt es ausser Copy&Paste eine praktikablere Lösung?
mfg
Camus
_________________
"No hell below us, above us only sky." John Lennon
Zuletzt bearbeitet von Camus am 14.01.2007, 23:31, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Zoff registrierter User
Anmeldungsdatum: 24.08.2006 Beiträge: 21668
|
(#641074) Verfasst am: 14.01.2007, 23:31 Titel: |
|
|
Mit Rechtsklick auf den Reiter des Tabellenblattes bekommst Du eine Option zum kopieren/verschieben des Blattes in eine andere geöffnete Datei.
Um das für mehrere Dateien auf einmal zu automatisieren, wirst Du wohl ein Makro schreiben müssen.
(unter Excel 2003 getestet)
|
|
Nach oben |
|
 |
Camus syntax error
Anmeldungsdatum: 25.11.2006 Beiträge: 179
Wohnort: Milchstrasse
|
(#641083) Verfasst am: 14.01.2007, 23:47 Titel: |
|
|
Danke hat geklappt!!!
1. Eine Frage noch ... nee zwei ... Beim Aufzeichnen des Makros habe ich die Datei "Konsolidiert" als Zieldatei definieren müssen. Nun wird nicht jede Datei in die ich konsolidieren will "Konsolidiert" heissen. Gibt es die Möglichkeit einer allgemeineren (namensunabhängigen) Definition meiner Zieldatei?
2. Beim Aufzeichnen des Makros wurde ich gefragt, wo ich es speichern möchte. Habe es unter "persönliche Makroarbeitsmappe" gespeichert. Steht mit das Makro nun immer zur Verfügung, d.h. egal welche Dateien ich mit dem Makro gerade bearbeiten möchte? [edit2: Ja! habs ausprobiert]
Vielen Dank nochmal, hat mir sehr geholfen!
mfg
Camus
[edit: Mist sowohl Anfangs- als auch Zieldatei sind in dem Makro namentlich definiert. Egal: Dein Tipp reicht, um etwas effektiver zu arbeiten.]
_________________
"No hell below us, above us only sky." John Lennon
Zuletzt bearbeitet von Camus am 14.01.2007, 23:55, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Zoff registrierter User
Anmeldungsdatum: 24.08.2006 Beiträge: 21668
|
(#641085) Verfasst am: 14.01.2007, 23:53 Titel: |
|
|
Sorry, aber da bin ich überfragt.
Möglicherweise kann Dir hier jemand näheres sagen.
|
|
Nach oben |
|
 |
Camus syntax error
Anmeldungsdatum: 25.11.2006 Beiträge: 179
Wohnort: Milchstrasse
|
(#641093) Verfasst am: 15.01.2007, 00:10 Titel: |
|
|
Zoff hat folgendes geschrieben: | Sorry, aber da bin ich überfragt.
Möglicherweise kann Dir hier jemand näheres sagen. |
Danke für den Tipp!
mfg
Camus
_________________
"No hell below us, above us only sky." John Lennon
|
|
Nach oben |
|
 |
Camus syntax error
Anmeldungsdatum: 25.11.2006 Beiträge: 179
Wohnort: Milchstrasse
|
(#641707) Verfasst am: 15.01.2007, 21:55 Titel: |
|
|
Hallo!
Zum Schluss noch eine letzte Antwort für diejenigen, die in Zukunft vielleicht vor dem gleichen Problem stehen und hier eine Lösung suchen:
In dem anderem Forum gab Sebastian Schulz diesen Tipp.
Zitat: | hierzu habe ich zwei Makros:
Das erste führt die Tabellenblätter aus jeder Datei in einem Verzeichnis in eine Excel-Datei zusammen.
Code:
Sub Tabellen_konsoldieren_alle_in_Ordner()
Dim Mappe As Worksheet
Dim i As Integer
Dim xWbk As Workbook
Set Mappe = ActiveWorkbook.ActiveSheet
Application.ScreenUpdating = False
With Application.FileSearch
.NewSearch
.LookIn = "C:\Test"
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
.Execute
Application.DisplayAlerts = False
For i = 1 To .FoundFiles.Count
Set xWbk = Workbooks.Open(.FoundFiles(i))
xWbk.Worksheets(1).UsedRange.Copy
Mappe.Cells(Mappe.Rows.Count, 1).End(xlUp).Cells(2, 1).PasteSpecial
xWbk.Close msoFalse
Next i
Application.DisplayAlerts = True
End With
End Sub
Das zweite konsoldiert alle Tabellen in einer Datei. Dieser stammt direkt von der Microsoftseite
Code:
Sub Tabellen_Konsoldieren_alle_Tabellen_in_Datei()
Dim i As Integer
With ActiveWorkbook
'neue Tabelle an die erste Position einfügen
.Worksheets.Add Before:=.Worksheets(1)
For i = 2 To .Worksheets.Count
'Ermitteln den benutzen Bereich der einzelnen Tabellenblätter
Set rng = .Worksheets(i).UsedRange
'letzte Zeile ermitteln des ersten Blattes
Set rng1 = Worksheets(1).Cells(Rows.Count, "A").End(xlUp)(2)
'Bereich kopieren
rng.Copy Destination:=rng1
Next
End With
End Sub
Hoffe dir damit geholfen zu haben
Grüße |
mfg
Camus
Die Originalantwort
_________________
"No hell below us, above us only sky." John Lennon
|
|
Nach oben |
|
 |
Zoff registrierter User
Anmeldungsdatum: 24.08.2006 Beiträge: 21668
|
(#641842) Verfasst am: 15.01.2007, 23:23 Titel: |
|
|
Schön dass es geklappt hat!
|
|
Nach oben |
|
 |
|