2017-07-19 9 views
0

あるブックから別のブックへデータの範囲をコピーするマクロを作成しました。他のブックのシートはパスワードで保護されていますが、私が手動でコピーして過去に行った場合、それを許可します。しかし、これを私のマクロに書き込もうとすると、ペーストが許可されません。次のようにVBAを使用して保護されたワークシートに貼り付けることはできませんが、手動で行うことができます

コードは、現在、次のとおりです。

Sub COPYT() 
' 
' COPYT Macro 

    Range("B2:U109").Select 
    Selection.Copy 
    Workbooks.Open Filename:= _ 
     "_FileName_.xls" 
    Windows("_FileName_.xls").Activate 
    Range("H10").Paste 

End Sub 

であるように私は、マクロを実行すると、私は

実行時エラー「438」を取得:「オブジェクトは、このプロパティをサポートしていませんが法」

、デバッガや、問題が最終行であることを示しているRange("H10").Paste

私はシートの保護を解除できません(コンプライアンス)、私は明らかにこのマクロを実行してCtrl + Vを押すだけです(これにより、貼り付けが可能になります...)自動化されました。シートが保護されているため、貼り付けコマンドに別の構文が必要ですか?

ありがとう

+0

手動でコピー/ペーストするときは、マクロと同じ範囲を使用していますか? –

+0

はい、すべて同じです。実際には、マクロを失敗させると、CTRL + Vを押すだけですぐに私の仕事が終わります。 – user8330875

+0

シートが保護されている場合、Ctrl + Vを使用してペーストする方法がわかりません。 – SJR

答えて

0

ペーストはワークシートの方法であり、範囲ではありません。これを試して。シート参照を前提としていますが、調整が必要な場合があります。

Sub COPYT() 

Dim wb As Workbook 

Set wb = Workbooks.Open(Filename:="_FileName_.xls") 
wb.Sheets("compliance").unprotect  
ThisWorkbook.Sheets(1).Range("B2:U109").Copy wb.Sheets("compliance").Range("H10") 
wb.Sheets("compliance").protect 

End Sub 
+0

こんにちはSJRです。ありがとうございますが、シートが保護されているだけでなく、パスワードがあり、上記のようにシートの保護を解除することはできません。 – user8330875

+0

申し訳ありませんがあなたの質問を正しく読んでいない。それがどのように保護されているか知っていますか?あなたはパスワードを持っていないので保護を解除できませんか? – SJR

+0

そうです、パスワードは持っていません。私はそれを開こうとするいくつかのコードを投げることができますが、企業のコンプライアンスのために、私は本当にそれをしたくありません... – user8330875

関連する問題