2016-05-29 13 views
0

Ich muss ein Blatt aus einer Arbeitsmappe in eine andere (vorhandene) Arbeitsmappe kopieren. Es funktioniert, aber das Blatt wird auch automatisch in einer neuen Arbeitsmappe gespeichert. Ich habe keine Ahnung, warum das so ist. dies ist mein Code:kopieren Sie Blatt in eine andere Arbeitsmappe, aber das Blatt wird auch in einer neuen Arbeitsmappe gespeichert

Worksheets("New").Activate 
If IsSheetEmpty(StartWorkbook.Sheets("New")) = True Then 
    Application.DisplayAlerts = False 
    Worksheets("New").Delete 
    OLDWorkbook.Activate 
    Sheets("sheet1").Select 
    Sheets("sheet1").Copy 
    Sheets("sheet1").Copy After:=StartWorkbook.Sheets("Control") 
    StartWorkbook.Activate 
    Sheets("sheet1").Name = "New" 
    OLD.Close 
    Application.DisplayAlerts = True 
Else 
    MsgBox ("sheet is not empty") 
End If 

Vielen Dank im Voraus

+1

die 'Sheets löschen (“ sheet1 "). Kopiere's Zeile (behalte die zweite mit dem dest Teil) ... –

+0

Haha okay, so einfach war es ... vielen Dank, es war echt nervig: o) – VeVi

+0

du bist willkommen :) –

Antwort

1

nur eine richtige Antwort zu haben:

Dieses Verhalten auf die Tatsache zurückzuführen ist, dass ohne Ziel ein Blatt zu kopieren, eine neue Arbeitsmappe wird erstellt mit diesem Blatt. Aus diesem Grund gibt es keinen Befehl zum Kopieren eines kopierten Blattes.

Für den gegebenen Code, entfernen Sie einfach die Zeile

Sheets("sheet1").Copy 

Aber halten Sie die Zeile:

Sheets("sheet1").Copy After:=StartWorkbook.Sheets("Control") 

(natürlich ist es erforderlich);)