online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Mona1980 vom 23.06.2021, 08:21 Options

mehrere Dateien in einer zusammenfassen

Guten Morgen liebe Supportnetler,

ich habe da eine mühsame Arbeit und denke, dass man das per Makro vereinfachen kann. Nur leider fehlt mir hier das Wissen. :-(

Mir liegen 68 Excel-Dateien vor, die jeweils zwei Arbeitsmappen haben. Diese lauten (immer gleich!!!): EVN Details und Erklärungen zu Verbindungsarten. Nun brauche ich in einer Datei alle Arbeitsmappen "EVN Details". Damit die Übersicht gewährt bleibt, hätte ich gerne als neuen Mappen-Namen noch die letzten 8 Stellen des Dateinamens. Zum Beispiel lautet eine Datei "EVN_06563949012721_KARTE_50010560.xls". Die darin befindliche Mappe "EVN Details" sollte dann in der neuen Datei als "EVN Details 50010560" eingefügt werden.

Geht das überhaupt? Oder muss ich mich jetzt wirklich hinsetzen, die einzelnen Mappen in eine neue Datei kopieren und manuell umbenennen? Hoffe nicht!!!!

Für einen hilfreichen Tipp wäre ich euch echt dankbar!

Herzliche Grüße
Mona1980

PS: Hoffe es ist verständlich genug formuliert...


Antwort schreiben

Antwort 1 von Marie vom 23.06.2021, 11:15 Options

Hier hätte ich mal einen Code die Dateinamen in Access einzulesen http://www.supportnet.de/t/2234766, kannste umschreiben und in Excel einlesen.
Danach hintereinander alle aufrufen, die letzten 8 Zeichen vom Namen merken, zwei neue Tabellenblätter anlegen umbenennen in EVN Details und Erklärungen zu Verbindungsarten & die letzten 8 gemerkten Zeichen, Tabellenblatt kopieren, einfügen. Kein Problem, aber wenn Du gar keine Ahnung hast und das nur ein einziges Mal machen musst, hast Du vermutlich alle 68 Dateien schneller kopiert als den Code zum laufen gebracht.

gruß marie

Antwort 2 von nighty vom 23.06.2021, 11:52 Options

hi mona .-)

teste mal

gruss nighty

Global Scup As Boolean
Global Ebes As Boolean
Global Cclt As Integer
Option Explicit
Sub DateienLesen()
    Scup = Application.ScreenUpdating
    Ebes = Application.EnableEvents
    Cclt = Application.Calculation
    Call EventsOff
    Dim DateiName As String
    DateiName = Dir("C:\Temp1\" & "*.xls")
    Do While DateiName <> ""
        If ThisWorkbook.Name <> DateiName And Len(DateiName) > 11 Then
            Workbooks.Open Filename:="C:\Temp1\" & DateiName
            Workbooks(DateiName).Worksheets("Tabelle1").Copy Before:=Workbooks(ThisWorkbook.Name).Worksheets(1)
            ActiveSheet.Name = Mid(Right(DateiName, 12), 1, 8)
            Workbooks(DateiName).Close
        End If
        DateiName = Dir
    Loop
    Call EventsOn
End Sub

Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub

Public Sub EventsOn()
    With Application
        .ScreenUpdating = Scup
        .EnableEvents = Ebes
        .Calculation = Cclt
    End With
End Sub

Antwort 3 von nighty vom 23.06.2021, 11:57 Options

hi mona :-)

gruss nighty

an EINER stelle anzupassen
"Tabelle1"

an ZWEI stellen anzupassen
"C:\Temp1\"

Antwort 4 von Mona1980 vom 23.06.2021, 12:09 Options

Hey Nighty!

Herzlichen Dank für dein Makro. Denke, dass ich es richtig angepasst habe....

"Tabelle1" habe ich durch den Namen der Arbeitsmappe ersetzt

"C:\Temp1\" habe ich durch den Pfad ersetzt, wo die einzelnen Dateien zu finden sind

Wenn ich das Makro starten möchte, zeigt er mir drei zur Auswahl: DateienLesen, EventsOff und EventsOn. Leider passiert hier jedoch nichts. :-(

Hab ich einen Denkfehler beim Ersetzen??

Herzlichste Grüße und nochmals VIELEN DANK!

Mona1980

Antwort 5 von nighty vom 23.06.2021, 12:15 Options

hi mona :-)

"Tabelle1" waere deine zu kopierende tabelle

"Tabelle1" wird also geaendert zu "EVN Details"

wenn ich richtig verstanden hab :-)

gruss nighty

Antwort 6 von nighty vom 23.06.2021, 12:20 Options

hi all :-)

@marie
api funtionen bei unterordnern einsetzen,ansonsten reicht die dir function

die events,naja,kein muss,mir gefaellts immer gut,koennte aber auch raus mit einigen bremseffekten :-)))

gruss nighty

Antwort 7 von Mona1980 vom 23.06.2021, 13:57 Options

Hallo Nighty,

muss ich die Ausführung der Makros in einer bestimmten Reihenfolge vornehmen? Und wie ist es mit Leerzeichen im Namen von dem Tabellenblatt? Muss "EVN Details" als "EVN_Details" angegeben werden? Und, zum guten Schluss, muss ich eine der besagten Dateien offen haben oder geht auch eine noch nicht gespeicherte neue Datei?

Grüßle aus dem Hesse-Land
Mona1980

Antwort 8 von nighty vom 23.06.2021, 14:47 Options

hi mona

zu 1
es wird nur das makro DateienLesen gestartet

zu 2
leerzeichen sollten keine rolle spielen,da die dateinamen automatisch eingelesen werden

zu 3
ein tabellennamen sollte schon angegeben sein,sonst wuessten wir ja nicht welche tabelle

wenn das dein angegebener name ist,dann diesen "EVN Details" wie oben erwaehnt einfuegen

zu 4
die dateien werden automatisch geoeffnet ausgelesen und wieder geschlossen

verbundene zellen sind verboten

geschuetzte bereiche ist der schutz kurzfristig aufzuheben

gruss nighty

Antwort 9 von nighty vom 23.06.2021, 14:50 Options

hi all :-)

verbundene zellen duerften keine rolle spielen da ja ganze tabellen kopiert werden :-)))

gruss nighty

Antwort 10 von Mona1980 vom 24.06.2021, 09:09 Options

Hallo Nighty,

ES KLAPPT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Ich musste lediglich die Daten auf C verschieben, aber das ist ja nicht so schlimm! Jetzt kann ich meine Auswertungen machen!

Von Herzen ein dickes fettes Dankeschön.

GLG
Mona1980

Ähnliche Themen

Messergebnisse zusammenfassen
sockly  04.04.2008 - 96 Hits - 10 Antworten

50 Dateien zu einer zusammenfassen
woherh  18.05.2008 - 253 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 09:21:55 2026