Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrere Tabellenblätter aus externer Datei anfügen

Mehrere Tabellenblätter aus externer Datei anfügen
16.12.2019 12:16:18
Senad
Hallo,
Ich habe bereits viele Foren und das Archiv durchsucht und leider Nichts wirklich passendes gefunden. Ich würde gerne eine Datei öffnen und ab einem Tabellenblatt bestimmte Tabellenblätter durchzählen und alle samt kopieren und in eine andere Date an- bzw. hinter dem letzten Tabellenblatt einfügen.
Ich habe viele Lösungen mit Range.Select.Copy gesehen, jedoch möchte ich an der Zahl ca. 50 Tabellenblätter kopieren und denke dieser Vorgang würde vieeeel zu lange dauern. Das Makro braucht eigentlich nur einen Zähler für WBQuelle und musst die gesamten Tabellenblätter kopieren. Denkt ihr dafür gibt es eine Lösung oder bin ich auf Range.Select angewiesen?
Lieben Gruß und vielen Dank im Voraus, wenn sich jemand die Mühe macht und mir antwortet!
Einen wunderschönen Wochenstart euch allen übrigens ;)!
Lieben Gruß

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Tabellenblätter aus externer Datei anfügen
16.12.2019 12:52:37
Regina
Hallo,
teste mal den folgenden Code. Er kopiert alle Tabellenblätter ab Blatt 3 (kann man anpassen) in eine neue Exceldatei. Einzige Voraussetzung: Keines der zu kopierenden Tabellenblätter darf "Tabelle1" heißen, da es das in einer neuen Exceldatei bereits gibt.
Sub Blaetter_Kopieren()
Dim obj_wks As Worksheet
Dim obj_wkb_ziel As Workbook
Dim lng_zaehler As Long
Set obj_wkb_ziel = Workbooks.Add
For lng_zaehler = 3 To ThisWorkbook.Worksheets.Count
Set obj_wks = ThisWorkbook.Worksheets(lng_zaehler)
obj_wks.Copy after:=obj_wkb_ziel.Worksheets(Worksheets.Count)
Next
End Sub
Gruß
Regina
Anzeige
AW: Mehrere Tabellenblätter aus externer Datei anfügen
16.12.2019 13:02:33
fcs
Hallo Senad,
hier ein entsprechendes Makro es funktioniert, wenn auf den zu kopierenden Blättern keine Formeln mit externen Bezügen oder Tabellenobjekte vorhanden.
Falls dies der Fall ist, dann muss man ggf. vor dem kopieren Formeln durch Werte ersetzen und/oder Blätter einzeln kopieren.
False die Nummer des Startblattes in den Datei unterschiedlich ist, dann muss die Nummer nach jedem öffnen einer Datei via Inputbox abgefragt werden.
LG
Franz
Sub CopySheets()
Dim Nr_Startsheet As Integer, iSheet As Integer
Dim arrSheets()
Dim wkbZiel As Workbook
Dim wkbQuelle As Workbook
Dim varQuelldatei
Set wkbZiel = ActiveWorkbook
Nr_Startsheet = 2 'ggf. anpassen
DateiAuswahl:
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte Datei(en) mit zu kopierenden Blättern auswählen"
.AllowMultiSelect = True
If .Show = -1 Then
For Each varQuelldatei In .SelectedItems
Set wkbQuelle = Application.Workbooks.Open(Filename:=varQuelldatei, _
ReadOnly:=True, UpdateLinks:=False)
If wkbQuelle.Sheets.Count >= Nr_Startsheet Then
ReDim arrSheets(2 To wkbQuelle.Sheets.Count)
For iSheet = Nr_Startsheet To wkbQuelle.Sheets.Count
arrSheets(iSheet) = wkbQuelle.Sheets(iSheet).Name
Next iSheet
wkbQuelle.Sheets(arrSheets).Copy after:=wkbZiel.Sheets(wkbZiel.Sheets.Count) _
End If
wkbQuelle.Close savechanges:=False
Next
If MsgBox("Weitere Tabellen aus Dateien kopieren?", vbQuestion + vbYesNo, _
"Tabellenkopieren") = vbNo Then
GoTo Beenden
Else
GoTo DateiAuswahl
End If
Else
GoTo Beenden
End If
End With
Beenden:
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige