• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelのマクロでセル単位でロックをかける方法に関する質問です。)

Excelのマクロでセル単位でロックをかける方法について

このQ&Aのポイント
  • Excelのマクロを使用して、特定の条件に基づいてセルをロックする方法について教えてください。
  • セルのロックを自動化するために、マクロを使用して特定の条件に基づいて行う方法を教えてください。
  • Excelのマクロ初心者のため、セル単位でのロックおよびアンロックの自動化方法についてのアドバイスをお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>a列の各セルは、IF関数で数値か""を返しているとします。 この前提で。 詳細の補足を求めても正直きりがないので,簡易マクロで。 当該のシートのシート名タブを右クリック,コードの表示を選ぶ。 現れたシートに書きをコピー貼り付ける private sub worksheet_calculate()  dim h as range  'シートの保護にパスワードを付けているときは,次の一行を修正すること  activesheet.protect userinterfaceonly:=true  for each h in range("A1:A10")   h.resize(1, 4).locked = (h <> "")  next end sub #もうちょっと大規模な範囲に処理をしたい等の場合は,A列各セルの数式が変化する元になるセルによるchangeイベント等で操作しても良い。  もう少し丁寧に説明すると, 1.何かをすると  ←これが具体的に何なのか,を拾ってマクロに3の仕事をさせます。 2.A列のあるセルの式の計算結果が変わるので 3.対応するセル範囲のlockedを変更する マクロの練習用には確かによい教材ですので,先にご紹介したサンプルなどもちょっと参考にもう一がんばりしてみてください。

ryou4649
質問者

お礼

完璧です。 ありがとうございました。