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

Blatt in ein "temporäres" Excel-Sheet kopieren

Blatt in ein "temporäres" Excel-Sheet kopieren
18.08.2015 17:00:38
worm77
Hallo zusammen
Ich habe ein Excel-Sheet, welches mir eine Auswertung erstellt und diese in ein neues Workbook schreibt.
Soweit so gut...
Nun möchte ich aber, dass das Titelblatt, vom ausführenden Workbook in das neue kopiert...
Dieses hat natürlich noch keinen Namen (ausser Book1, Book2, usw.).
Wie kann ich das Blatt vom einen ins Andere Workbook kopieren?
Folgender Code funktioniert nicht:

Windows("CPUStatistik.xlsm").Activate
Sheets("Mastertable").Select
Range("E24").Select
ReportName = ActiveCell.Value
Sheets("TITLE").Select
ActiveSheet.Copy Before:=Workbooks("Book5").Sheets(1)
Wäre euch für eure Hilfe sehr dankbar!
Gruss Rolf

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

Betreff
Datum
Anwender
Anzeige
AW: Blatt in ein "temporäres" Excel-Sheet kopieren
18.08.2015 17:32:44
Daniel
Hi
wenn du mit mehreren Workbooks oder Worksheets arbeitest, sollest du grundsätzlich auf das Selektieren und Aktivieren verzichten und die Zellen mit Angabe von Workbook-Worksheet-Zelle direkt ansprechen.
das Selektieren und Aktivieren ist dem Arbeiten mit der Maus geschuldet, welches wir Anwender machen und was der Recorder dann so aufzeichen muss.
Aber in Makros braucht man das nicht, hier kann man direkt referenzieren.
das sieht dann so aus:
    Windows("CPUStatistik.xlsm").Activate
Sheets("Mastertable").Select
Range("E24").Select
ReportName = ActiveCell.Value

wird zu
ReportName = Worksbooks("CPUStatistik.xlsm").Sheets("Mastertabelle").Range("E24").value

das ist nicht nur kürzer und übersichtlicher, sondern auch auch viel schneller.
weiterhin hilft dir folgendes:
ThisWorkbook ist immer das Workbook, welches das Makro enthält.
damit kannst du dich immer auf die eigene Datei referenzieren, ohne den Namen benutzen zu müssen.
ActiveWorkbook ist immer da aktive Workbook. Das ist zunächst auch mal wahrscheinlich das Workbook, von dem du das makro startest und damit gleich ThisWorkbook.
sobald du aber ein neues Workbook hinzufügst, wird das neue Workbook das ActiveWorkbook.
somit kannst du dann über ThisWorkobook und AcitveWorkbook zwischen alter und neuer Datei unterscheien, ohne dich um die Namen kümmern zu müssen.
dh mit folgendem Code kannst du eine neue Datei erstellen und das Blatt "Titel" aus der alten in die neue Datei kopieren:
Workbooks.Add
Thisworkbook.Sheetr("TITLE").Copy Before:=ActiveWorkbook.Sheets(1)

wichitg ist nur, dass du selber nicht aktivierst und selektierst, damit das ActiveWorkbook immer das gleiche, neu hinzugefügte bleibt, denn sonst kommst du schnell durcheinander.
Gruß Daniel

Anzeige
AW: Blatt in ein "temporäres" Excel-Sheet kopieren
19.08.2015 14:06:38
worm77
Hoi Daniel
Vielen herzlichen Dank!
Dein Beitrag bringt mich weiter, als nur eine Antwort auf meine Frage.
So wird mein Code wirklich viel übersichtlicher und macht einen professionelleren Eindruck :-)
Gruss Rolf

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige