2017-07-25 44 views
1

我正在尋找將工作表從一個工作簿複製到另一個工作簿的原樣,,其中包括評論。到目前爲止,我還沒有找到一個簡單的方法來做到這一點。 這是一個完美的作品以及複製和粘貼片的一個工作簿內容,無需註釋代碼:複製工作表包含評論

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 

我相信它會採取的代碼大致一行來解決這個問題,我只是不知道如何。先謝謝你。

+0

選擇性粘貼,評論? – Jeeped

回答

2

嘗試改變:

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

要:

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

你的代碼應該可以工作。我更喜歡'sourceWs.UsedRange.Copy ws.Range(sourceWs.UsedRange.Address)',但結果相同。希望你得到第一個答案的功勞! – PGCodeRider

+0

這工作得很好,謝謝。作爲參考,我在paste命令後添加了'Application.CutCopyMode = False'。這會在每次粘貼操作後襬脫「剪貼板上的大量數據」錯誤消息。 –