2017-07-25 8 views
1

コメントを含む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 

私は、それがこの問題を解決するために、コードの約1行を取ると確信していますちょうど方法を知らない。前もって感謝します。

+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

これは非常にうまくいく、ありがとう。参考までに、貼り付けコマンドの後に 'Application.CutCopyMode = False'を追加しました。これは、各ペースト操作の後、 "クリップボード上の大量のデータ"エラーメッセージを取り除きます。 –

関連する問題