• ベストアンサー

Excel VBAでのセル制御について

初めまして。 今、Excelのファイルで備品の管理をしている台帳があるのですが、その管理しているシートのセルは手入力した時にだけ、メッセージを表示し、さらに、手入力で修正した前の値が戻るようなコードはあるのでしょうか? 現在、備品の交換はマクロであるので、マクロでのみセルの修正が有効で、手入力で入力した場合は無効にしたいのです。 宜しくお願いします。

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

  • ベストアンサー
  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

VBAにおいて、Protectでシートを保護するときに、UserInterfaceOnlyという引数をTrueにすると、マクロでの変更は出来るけど、手入力は出来ないような保護をすることができます。 ただし、一旦ブックを閉じて、再度ブックを開くと、マクロでの変更が出来ない保護状態になってしまうので、ブックを開くたびに、保護し直さなければなりません。 ThisWorkbookモジュールのWorkbook_Openイベント等で対応しましょう。 http://officetanaka.net/excel/vba/sheet/sheet07.htm

参考URL:
http://officetanaka.net/excel/vba/sheet/sheet07.htm
potara_ran
質問者

お礼

早速のご返信ありがとうございます。 参考にさせて頂きます。