• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでマクロを組み始めたばかりの者です。下記の)

エクセルマクロで実行時エラーが発生し、修正方法を教えてください。

このQ&Aのポイント
  • エクセルでマクロを組み始めたばかりの者です。マクロ実行時に「実行時エラー‘1004‘:変更しようとしているセルまたはグラフは保護されているため読み取り専用となっています」というエラーメッセージが表示され、マクロが止まってしまいます。マクロの目的は、転送ボタンを押した際に各シートの指定セルに一括で情報を転送(コピー)することです。転送先のシートは保護されているため、エラーが発生しています。
  • エラーはエクセル2010で確認されており、他のバージョン(2007や2003)でも同様のエラーが発生する可能性があります。また、この問題を解決するためには具体的な修正方法が必要であり、マクロ初心者としては詳細な案内を求めています。
  • マクロの修正方法について、具体的な手順や注意点を教えていただけないでしょうか?マクロを修正して正常に動作させるためのアドバイスやポイントをお願いします。

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

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは 多分、保護の解除がうまくいってないのでは? Sub Macro2()   Dim wbk1 As Workbook   Dim wsh1 As Worksheet   Dim tsh As Worksheet      Application.ScreenUpdating = False      Set tsh = ActiveSheet 'ThisWorkbook.Worksheets(1)?      Set wbk1 = Workbook.Open("K:\共有\○○○.xlsm")   Set wsh1 = wbk1.Worksheets(1) '○○○.xlsmのシートが1枚ならこのまま。複数ならシート名指定に変更      wsh1.Unprotect      tsh.Range("D4:G20").Copy wsh1.Range("E7")      wsh1.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True   wbk1.Save   wbk1.Close      Set wbk1 = Nothing      Set wbk1 = Workbook.Open("C:\Users\Desktop\×××.xlsm")   Set wsh1 = wbk1.Worksheets(1) '×××.xlsmのシートが1枚ならこのまま。複数ならシート名指定に変更      wsh1.Unprotect      tsh.Range("D4:G20").Copy wsh1.Range("AF18")      wsh1.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True   wbk1.Save   wbk1.Close      Set wbk1 = Nothing      Set wbk1 = Workbook.Open("K:\共有\□□□.xlsm")   Set wsh1 = wbk1.Worksheets(1) '□□□.xlsmのシートが1枚ならこのまま。複数ならシート名指定に変更      wsh1.Unprotect      tsh.Range("D4:G20").Copy wsh1.Range("AF18")      wsh1.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True   wbk1.Save   wbk1.Close      Set wbk1 = Nothing      Application.ScreenUpdating = True      MsgBox " 『○○○』と" & vbCrLf & "『×××』と" & vbCrLf & "『□□□』の" & vbCrLf & "規格を変更しました。" End Sub 動作確認してないですけど、これで試してみて下さい。

msojndsknks
質問者

お礼

ありがとうございました。 無事解決しました。

その他の回答 (2)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.3

こんにちは、No1です 何度も済みません。 選択しないで処理するならいいのですが、 もしどうしても選択が必要なら、そのセルのロックは外して有りますよね?

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.2

こんにちは、No1です 追加ですけど、 Protect で UserInterFaceOnly:=True で保護しておけば解除する必要も無い かも知れませんので試して下さい。

関連するQ&A