...denn Du kannst kein Arbeitsblatt (auch kein Diagrammblatt) in eine (noch) nicht-vorhandene Arbeitsmappe kopieren.
Davor muss die Arbeitsmappe erzeugt werden; das machst Du mit der Workbooks.Add()-Methode.
Ausserdem möchtest Du nicht Z sondern Zw kopieren. Denn Z ist "nur" eine Zelle (For Each Z(elle) in QW....Cells) - Zw ist das begehrte Arbeitsblatt.
1) Erzeuge ein Workbook mit der Workbooks.Add Methode
SET Nw = Workbooks.Add
2) Kopiere Zw ins neue Nw (neues Workbook)
Zw.Copy Nw.
3) Da jede Arbeitsmappe mindestens 1xArbeitsblatt/Diagrammblatt beinhalten muss, legt dir die Workbooks.Add Methode auch eins ann. Jenes löscht Du einfach nachdem Zw.Copy. Die lästige Meldung dann mit .DisplayAlerts=False einfach kurz unterdrücken.
Versuch den Code in Deinen an dem richtigen platz zu integrieren.
Set Nw = Workbooks.Add
Zw.Copy Before:=Nw.Worksheets(1)
With Application
.DisplayAlerts = False
Nw.Worksheets(2).Delete
.DisplayAlerts = True
End With
Links zur Onlinehilfe (OH):
https://docs.microsoft.com/de-de/office/vba/api/excel.workbooks.add
https://docs.microsoft.com/de-de/office/vba/api/excel.worksheet.copy
https://docs.microsoft.com/de-de/office/vba/api/excel.application.displayalerts
|