Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 62 Tabellenblätter in eine neue Datei

62 Tabellenblätter in eine neue Datei
08.08.2019 21:35:23
Tobi
Hallo zusammen,
ich würde einmal eure Unterstützung benötigen.
Mein Problem ist, dass ich 62 Tabellenblätter in der viele Formel etc. enthalten sind in eine Tabelle (neue Datei) zusammenführe möchte. Alle Tabellenblätter Bereich A1:O120 untereinander. Da möchte ich aber nur die Werte einfügen. Da sonst ein Chaos entsteht, weil ich teilweise den Blattnamen etc. mitverwende!
Ist das möglich.
VG Tobi
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: so? (ungeprüft)
08.08.2019 22:02:53
Fennek

sub T62_1()
with activesheet
set WB = workbooks.open(Pfad & file)
for each Sh in WB.Sheets
sh.range("A1:O120").copy .cells(rows.count,1).end(xlup).offset(1)
next Sh
WB.close 0
end with
end sub

AW: so? (ungeprüft)
09.08.2019 08:34:18
Tobi
Hallo Fennek,
leider bekomme ich das Makro nicht an laufen.
Ist es vielleicht einfacher die Tabellenblätter im aktuellen Workbook untereinander zu kopieren?
Die Daten sollen im Format nur Werte und Zahlenformat eingefügt werden. Ansonsten verliere ich wichtige Informationen.
Vielen Dank im Voraus
Tobi
Anzeige
AW: so? (ungeprüft)
09.08.2019 09:18:05
Torsten
Hallo Tobi,
der code von Fennek macht genau das:

Ist es vielleicht einfacher die Tabellenblätter im aktuellen Workbook untereinander zu kopieren?
Moeglicherweise hast du den Code nicht da eingefuegt, wo er sein sollte.
1. Der code muss in ein Modul im Workbook, wo du die Daten hinkopieren willst.
2. "With ActiveSheet" bedeutet, dass, wenn du den Code startest, das Blatt aktiv sein muss, wo du die Daten hinkopieren willst.
3. "Set WB = Workbooks.Open(Pfad & File)"...hier musst du natuerlich noch den Pfad und den Dateinamen angeben, aus welchem kopiert werden soll.
4. Wenn du nur Werte und Nummernformtatierung uebertragen willst, dann aendere die Kopierzeile:

sh.Range("A1:O120").Copy
.Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial xlPasteValuesAndNumberFormats
Es waere aber auch einfacher, wenn du uns mal deine Datei als Beispieldatei hochlaedst.
Gruss Torsten
Anzeige
AW: so? (ungeprüft)
09.08.2019 10:25:04
Torsten
Hallo Tobi,
ich nehme an, dass dies die Datei mit den normalerweise 62 Blaettern ist.
Diese Datei muss als .xlsm Datei gespeichert werden, damit Makros in dieser Datei benutzt werden koennen.
Dann diesen Code in ein allgemeines Modul kopieren. Dann den Code ausfuehren.
Gruss Torsten

Sub T62_1()
Dim Sh As Worksheet
Dim WB As Workbook
Dim lst As Long
With ThisWorkbook
Set WB = Workbooks.Add
For Each Sh In ThisWorkbook.Sheets
Sh.Range("A1:O120").Copy
lst = WB.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
WB.Sheets(1).Cells(lst + 1, 1).PasteSpecial xlPasteValuesAndNumberFormats
Next Sh
WB.Sheets(1).Cells(1, 1).EntireRow.Delete
End With
End Sub

Anzeige
AW: so? (ungeprüft)
09.08.2019 10:32:15
Mark
Hallo Torsten,
mega, funktioniert super - vielen Dank.
Viele Grüße
Tobi
gerne...
09.08.2019 11:09:26
Torsten
Danke fuer die Rueckmeldung
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige