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

Forumthread: 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

Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
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