Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
896to900
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
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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


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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige