2017-07-25 6 views
1

Ich suche ein Blatt aus einer Arbeitsmappe in eine andere Arbeitsmappe genau zu kopieren, wie es ist, einschließlich Kommentare. Bisher habe ich keinen einfachen Weg gefunden, dies zu tun. Dies ist der Code, der sehr gut für das Kopieren funktioniert und den Inhalt eines Blatt zu einer Arbeitsmappe ohne Kommentare einfügen:Kopieren Blatt EINSCHLIESSEN Kommentare

Sub copyOrRefreshSheet(destWb As Workbook, sourceWs As Worksheet) 
    Dim ws As Worksheet 
    On Error Resume Next 
    Set ws = destWb.Worksheets(sourceWs.Name) 
    On Error GoTo 0 
    If ws Is Nothing Then 
     sourceWs.Copy After:=destWb.Worksheets(destWb.Worksheets.Count) 
    Else 
     ws.Unprotect Password:="abc123" 
     ws.Cells.ClearContents 
     ws.Range(sourceWs.UsedRange.Address).Value = sourceWs.UsedRange.Value2 
    End If 
End Sub 

Ich bin sicher, dass es etwa eine Zeile Code nimmt dieses Problem zu beheben, ich Ich weiß einfach nicht wie. Vielen Dank im Voraus.

+0

einfügen, Kommentare? – Jeeped

Antwort

2

Try Änderung:

ws.Range(sourceWs.UsedRange.Address).Value = sourceWs.UsedRange.Value2 

An:

sourceWs.UsedRange.Copy 
ws.Range(sourceWs.UsedRange.Address).PasteSpecial(xlPasteAll) 
+0

Ihr Code sollte funktionieren. Ich bevorzuge 'sourceWs.UsedRange.Copy ws.Range (sourceWs.UsedRange.Address)' aber das gleiche Ergebnis. Hoffentlich bekommst du deine erste Antwort gutgeschrieben! – PGCodeRider

+0

Das funktioniert sehr gut, danke. Als Referenz habe ich 'Application.CutCopyMode = False' nach dem Einfügen-Befehl hinzugefügt. Dadurch wird nach jeder Einfügeoperation die Fehlermeldung "große Datenmenge in der Zwischenablage" gelöscht. –

Verwandte Themen