我希望将工作表从一个工作簿复制到另一个工作簿,包括注释。到目前为止,我还没有找到一种简单的方法来做到这一点。 这段代码非常适合将工作表的内容复制和粘贴到工作簿而无需注释:
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 :(得分:2)
尝试更改:
ws.Range(sourceWs.UsedRange.Address).Value = sourceWs.UsedRange.Value2
要:
sourceWs.UsedRange.Copy
ws.Range(sourceWs.UsedRange.Address).PasteSpecial(xlPasteAll)