- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルマクロでロックするとエラーが出る)
エクセルマクロでロックするとエラーが出る
このQ&Aのポイント
- エクセルマクロでロックをかけるとエラーが出てしまいます。具体的には、マクロの一部でSheet2にロックをかけるとエラーが起こります。
- 原因が分からず困っています。マクロの他の部分は正常に動作しており、Sheet2にロックをかけなければ問題はありません。
- エラーの原因と解決策について、アドバイスをいただけないでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
osarusan0214さん こんにちは。 エラーの原因は「Range("a1:c1").Copy」がリセットされてしまうことです。 「ActiveSheet.Unprotect」を行うと、コピーは解除されます。 よって処理順を変更すれば問題はないと思います。 Sub tes() Range("a1:c1").Copy ActiveWorkbook.Worksheets("Sheet2").Activate ActiveSheet.Unprotect ↓ Sub tes() Sheets("sheet2").Unprotect Range("a1:c1").Copy ActiveWorkbook.Worksheets("Sheet2").Activate
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
回答No.3
こんな具合でも。 sub macro2() with worksheets("Sheet2") .protect userinterfaceonly:=true .range("A" & .range("A65536").end(xlup).row + 1).resize(1, 3).value = range("A1:C1").value end with end sub
- kmetu
- ベストアンサー率41% (562/1346)
回答No.2
ActiveWorkbook.Worksheets("Sheet2").Activate ActiveSheet.Unprotect '(1) Range("a1:c1").Copy Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).PasteSpecial シートの保護を解除したときにコピーされたものが廃棄されてるみたいですので 上記の順番にしてください。
お礼
なるほど~ こんな方法もあるんですね~ withを上手に使えるようになりたいですw アドバイスありでした^^^