投稿日 | : 2005/01/13(Thu) 18:02 |
投稿者 | : わたる |
Eメール | : |
URL | : |
タイトル | : シートの保護を解除するとエラーが出ます |
エクセルマクロで、シートのセルの値だけをコピーして貼り付ける処理をしました。
初めはシートの保護設定をしない状態でマクロを作ったのですが、
あとになってから、シートを保護した状態からコピーの処理を
しなくてはならなくなりました。
なので、セルがアクティブになったら保護を解除する処理を入れ、
貼り付け処理が終わったら保護しなおすようにしました。
実際実行すると、RangeクラスのPasteSpecialメソッドが失敗しました。
というエラーが出てしまいました。
色々調べたのですが、解決方法が分かりませんでした。
分かる方がいましたら、ぜひ教えてください。
Workbooks.Open Filename:=path
Windows(NITC.csv).Activate
Range("A2:E2049").Select
Selection.Copy
Windows("NITC.xls").Activate
Sheets("SV-TOP").Select
'シートの保護解除
ActiveSheet.Unprotect Password:="1234"
Range("C8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'表示項目設定後半
Windows(NITC.csv).Activate
Range("F2:AD2049").Select
Selection.Copy
Windows("NITC.xls").Activate
Sheets("SV-TOP").Select
Range("J8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'保護設定入れる
ActiveSheet.Protect Password:="1234"
以下処理続く