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

Worksheet verschieben

Worksheet verschieben
16.09.2014 18:16:01
Dennis
Hallo zusammen,
ich möchte ein gerade aktives Sheet aus einem bereits bestehnden Workbook in ein neu zu erstellendes Workbook verschieben.
Das aktive Workbook ist "Factsheet Traube.xlms" und soll in ein neues Workbook mit dem Namen "Factsheet Traube" verschoben werden. Bekomme in der Zeile mit dem Move-Befehl eine Fehlermeldung. Erkenne meinen Fehler aber nicht. Jemand eine Idee?
Set Blatt = ActiveSheet
Application.SheetsInNewWorkbook = 1
Set Mappe = Workbooks.Add
Workbooks("Factsheet Traube.xlsm").Worksheets(Blatt).Move Before:=Workbooks(Mappe).Sheets(1)
Mappe.SaveAs Filename:="C:\Factsheets\" & Name
Mappe.Close
Vielen Dank vorab.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet verschieben
16.09.2014 18:40:42
Daniel
Hi
dazu sollte folgender Code ausreichen:
ActiveSheet.Move
ActiveWorkbook.SaveAs FileName:="C:\Factsheets\" & Name, FileFormat:=?
wenn du ein Blatt ohne Zielangab verschiebst, wird es automatisch in eine neue Datei geschoben, dh du musst die neue Datei nicht erst anlegen (sie enthält dann auch nur dieses neue Blatt).
Noch ein Fehler: seit Excel 2007 muss man beim SAVEAS das FileFormat immer mit angeben (dh ob du die Datei als xls, xlsx, xlsm oder xlsb speichern willst)
diese Angabe muss über das Fileformat erfolgen.
Die Dateierweiterung wird dann automatsich vergeben und braucht nicht im FileName enthalten sein.
Gruß Daniel
ps. nochmal zur Erklärung, warum dein Code nicht funktioniert:
richtig wäre:
Set Blatt = ActiveSheet
Application.SheetsInNewWorkbook = 1
Set Mappe = Workbooks.Add
Workbooks("Factsheet Traube.xlsm").Worksheets(Blatt.Name).Move Before:=Workbooks(Mappe).Sheets(1)

oder das:
Set Blatt = ActiveSheet
Application.SheetsInNewWorkbook = 1
Set Mappe = Workbooks.Add
Blatt.Move Before:=Workbooks(Mappe).Sheets(1)

dein Fehler ist, dass du das Objekt über seine Adresse ansprechen wolltest, aber anstelle der Adresse das ganze Objekt verwendest hast (du hast quasi an der Stelle im Fragebogen, wo du die Adresse hinschreiben sollst, das ganze Haus hingestellt)

Anzeige
AW: Worksheet verschieben
17.09.2014 13:24:22
Dennis
Vielen Dank für die Hilfe!

AW: Worksheet verschieben
16.09.2014 18:46:05
Luschi
Hallo Dennis,
hier ist Einiges 'doppelt-gemommelt', aber falsch:
Worksheets(Blatt) & Workbooks(Mappe)
'Blatt' ist bereits ein Worksheet und 'Mappe' ein Workbook, also genügt:
Blatt.Move Before:=Mappe.Sheets(1)
oder so (auch 'd-g'), dafür aber richtig:
Workbooks("Factsheet Traube.xlsm").Worksheets(Blatt.Name).Move Before:=Workbooks(Mappe.Name).Sheets(1)
Gruß von Luschi
aus klein-Paris

AW: Worksheet verschieben
17.09.2014 13:23:17
Dennis
Vielen Dank für die Hilfe!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige