• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルマクロでロックするとエラーが出る)

エクセルマクロでロックするとエラーが出る

このQ&Aのポイント
  • エクセルマクロでロックをかけるとエラーが出てしまいます。具体的には、マクロの一部でSheet2にロックをかけるとエラーが起こります。
  • 原因が分からず困っています。マクロの他の部分は正常に動作しており、Sheet2にロックをかけなければ問題はありません。
  • エラーの原因と解決策について、アドバイスをいただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

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

osarusan0214
質問者

お礼

なるほど~ こんな方法もあるんですね~ withを上手に使えるようになりたいですw アドバイスありでした^^^

  • 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 シートの保護を解除したときにコピーされたものが廃棄されてるみたいですので 上記の順番にしてください。

関連するQ&A

専門家に質問してみよう