Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mappe offen und alle Tabellenblätter kopieren

Mappe offen und alle Tabellenblätter kopieren
02.02.2009 10:44:12
Leon
Hi,
ich möchte per Makro aus meinem Sheet heraus den ÖFFNEN-Dialog starten, eine andere Excel Tabelle auswählen können und von dieser gewählten Datei alle Tabellenblätter, die darin sind , in meine Tabelle kopieren.
hat jemand Hilfe parat ?
Wäre nett, danke
Gruss
Leon
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mappe offen und alle Tabellenblätter kopieren
02.02.2009 11:22:10
Oberschlumpf
Moin Leon
Schreib dieses Makro in ein allgemeines Modul und teste es:

Sub sbTabsCopy()
Dim lstrFile As String, lshTabs As Worksheet, lstrSplit() As String
lstrFile = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
If lstrFile = "Falsch" Then Exit Sub
Application.ScreenUpdating = False
Workbooks.Open lstrFile
lstrSplit = Split(lstrFile, "\")
For Each lshTabs In Workbooks(lstrSplit(UBound(lstrSplit))).Sheets
lshTabs.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Next
Workbooks(lstrSplit(UBound(lstrSplit))).Close savechanges:=False
Application.ScreenUpdating = True
End Sub


Zuerst öffnet sich der Datei-Öffnen-Dialog und du wählst eine Datei aus.
Nach dem Öffnen der Datei werden alle Tabellenblätter kopiert und und so in die Datei mit dem Makro eingefügt, dass sie sich am Ende aller Tabellenblätter befinden.
Hilfts?
Ciao
Thorsten

Anzeige
Hilft seht gut, vielen Dank
02.02.2009 11:37:00
Leon
Gruss
Leon
AW: Mappe offen und alle Tabellenblätter kopieren
02.02.2009 11:35:36
fcs
Hallo Leon,
die Grundversion ist wie folgt. Es kann allerdings bei Formeln das Problem geben, dass diese ihren Bezug zur Quelldatei behalten. Dann muss man ggf. das Makro erweitern um die Zellbezüge auf die Datei zu setzen in die Kopiert wurde.
Gruß
Franz

Sub BlaetterHolen()
Dim wbZiel As Workbook, wbQuelle As Workbook, varAuswahl
varAuswahl = Application.GetOpenFilename(Filefilter:="Excel(*.xls),*.xls")
If varAuswahl  False Then
Set wbZiel = ActiveWorkbook
Set wbQuelle = Workbooks.Open(Filename:=varAuswahl, ReadOnly:=True)
wbQuelle.Sheets.Copy after:=wbZiel.Sheets(wbZiel.Sheets.Count)
wbQuelle.Close savechanges:=False
End If
End Sub


Anzeige
;

Forumthreads zu verwandten Themen

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