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

Arbeitsblätter kopieren

Forumthread: Arbeitsblätter kopieren

Arbeitsblätter kopieren
21.08.2007 09:52:00
maruseru@bluewin.ch
Folgedes Makro habe ich aufgezeichnet. ich möchte gerne die Quellendatei (hier RfC.xls) auswählen können aus der ich Arbeitsblätter kopiere. Die Quelldatei ist im gleichen Folder wie die aktive Datei (Copy of RfC Recorder_actual.xls). Geht das mit einer Messagebox?
Weiter ist es wohl besser mit Worksheet.sheet.activate anstelle von Windows.activate zu arbeiten.
Danke und Gruss
Marcel

Sub Add_RfC_to_Recorder()
Windows("RfC.xls").Activate
Sheets("04_Scoping").Select
Sheets("04_Scoping").Copy After:=Workbooks("Copy of RfC Recorder_actual.xls") _
.Sheets(5)
Windows("RfC.xls").Activate
Sheets("02_Requester").Select
Sheets("02_Requester").Copy After:=Workbooks("Copy of RfC Recorder_actual.xls") _
.Sheets(6)
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblätter kopieren
21.08.2007 13:10:50
fcs
Hallo Marcel,
etwas allgemeiner formuliert kann dein Makro wie folgt aussehen. Die Worte Activate und Select in Prozeduren streichst du am besten aus deinem VBA-Wortschatz. Sie werden nur in Ausnahmefällen benötigt, wenn man die Usereingabe steuern möchte.
Die Kopien werden in der beim Start des Makros aktiven Datei eingefügt.
Im angezeigten Dialogfenster kannst du die gewünschte Datei auswählen.
Gruß
Franz

Sub Add_RfC_to_Recorder()
Dim wbQuelle As Workbook, wbZiel As Workbook, varQuelle, strVerzAktuell
Set wbZiel = ActiveWorkbook
strVerzAktuell = VBA.CurDir 'aktuelles Verzeichnis merken
VBA.ChDir wbZiel.Path
varQuelle = Application.GetOpenFilename("Exceldateien (*.xls), *.xls")
If varQuelle = False Then Exit Sub
Set wbQuelle = Workbooks.Open(Filename:=varQuelle)
With wbQuelle
.Sheets("04_Scoping").Copy After:=wbZiel.Sheets(5)
.Sheets("02_Requester").Copy After:=wbZiel.Sheets(6)
'mit den beiden folgenden Zeilen werden die Kopien hinter dem letzten Blatt einmgefügt
'    .Sheets("04_Scoping").Copy After:=wbZiel.Sheets(wbZiel.Sheets.Count)
'    .Sheets("02_Requester").Copy After:=wbZiel.Sheets(wbZiel.Sheets.Count)
End With
VBA.ChDir strVerzAktuell 'Akives Verzeichnis wieder zurücksetzen
End Sub


Anzeige
AW: Arbeitsblätter kopieren
21.08.2007 14:24:15
maruseru@bluewin.ch
Hallo Franz
Super, vielen Dank für deine prompte Antwort die auch gleich funktioniert hat, mega!
Gruss
Marcel
;

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