Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
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

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

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige