2.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Ihr Lieben,

ich lese mich schon seit heute morgen durch sämtliche foren durch und komme nicht klar.
folgende problemstellung:
ich habe einen ordner mit 52 einzelnen xls dateien. ziel ist es, eine einzige tabelle zu erstellen, die dann 52 tabellenblätter hat. und das alles ohne kopieren/einfügen.
bitte bitte ich brauche eure hilfe.
vorab schon vielen dank für.
und schöne ostern.

Grüße,
sun

8 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
ohne kopieremn oder einfügen ist so was nicht möglich.
Wie sollen dann die Datei in die Datei kommen?

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,

ich dachte in der schönen xls.welt kann man sich ein makro zaubern oder so etwas.3x 52x str c und str v ist echt anstrengend :(
wie gut das ostern ist.

liebe grüße
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Du möchtest einen Ersatz für Strg+c und Strg+V, es soll aber nicht kopiert oder eingefügt werden, das geht immer noch nicht.
Die Aufgabe kannst Du als unglöst abhaken.
Ich wähle den Beitrag jetzt auch ab.

Gruß Hajo
0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo sun,

vermutlich würde das mit Script gehen, aber ob sich das für so eine Einmal-Aktion lohnt?

- Rechtsklick auf das 'Register' mit dem Tabellenblatt-Namen ganz unten und "Verschieben/kopieren..." auswählen.
- Je nach Wunsch die Option "Kopie erstellen" aktivieren oder auch nicht.
- Bei "Zur Mappe:" wählst du "(neue Arbeitsmappe)" aus und klickst auf OK
- Die Anzeige wechselt sofort in die neuen Arbeitsmappe, deren automatisch verpassten Namen (Mappe2) du über "Speichern unter.. " sofort ändern lassen kannst.
- Anschließend wechselst du zurück auf die erste Quell-Datei, schließt diese und öffnest die nächste Quelle mit welcher du den Vorgang wiederholst. Statt "(neue Arbeitsmappe)" wählst du aber jetzt die im ersten Gang neu angelegte Datei aus und kannst im weiteren Dialog dann festlegen an welcher Stelle das zweite Tabellenblatt eingefügt werden soll.

Bei 52 Einzeldateien innerhalb eines Ordners dürfte die ganze Aktion keine 5 Minuten dauern, der notwendige Zeitaufwand für die Erstellung eines Scripts dürfte vermutlich höher liegen. Und im Gegensatz zum normalen Copy+Paste werden automatisch auch die Formatierungen der einzelnen Tabellenblätter komplett in die neue Tabelle übernommen.

Gruß
Kalle
0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Nachtrag:
5 Minuten ist vielleicht doch etwas übertrieben, aber recht schnell geht es trotzdem.
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

ein beispiel

gruss nighty

Sub DateienLesen()
Dim DateiName As String
DateiName = Dir("C:\Temp\" & "*.xls")
Do While DateiName <> ""
If ThisWorkbook.Name <> DateiName Then
Workbooks.Open Filename:="C:\Temp\" & DateiName
Workbooks(DateiName).Worksheets(1).Copy Before:=Workbooks(ThisWorkbook.Name).Worksheets(1)
ActiveSheet.Name = Mid(Right(DateiName, 12), 1, Len(DateiName) - 4)
Workbooks(DateiName).Close
End If
DateiName = Dir
Loop
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

korrigiert

gruss nighty

Sub DateienLesen()
Dim DateiName As String
DateiName = Dir("C:\Temp1\" & "*.xls")
Do While DateiName <> ""
If ThisWorkbook.Name <> DateiName Then
Workbooks.Open Filename:="C:\Temp1\" & DateiName
Workbooks(DateiName).Worksheets(1).Copy Before:=Workbooks(ThisWorkbook.Name).Worksheets(1)
ActiveSheet.Name = Mid(DateiName, 1, Len(DateiName) - 4)
Workbooks(DateiName).Close
End If
DateiName = Dir
Loop
End Sub
0 Punkte
Beantwortet von
hey kalle,

hast recht, ich will ja auch die formatierung übernehmen.
dann wird wohl verschieben/kopieren dat beste sein.

@alle: frohe ostern

sun
...