- ベストアンサー
エクセルで保護するとマクロが使えなくなるのですが。
売上のデータを入力してマクロで集計をしてます。 ただ、計算式が入ってますので、シートを保護したのですが、するとマクロが使えなくなってしまいました。 解決策はあるのですか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
シート保護しても、マクロでの書き込みを許可したい場合は、#3さんの応用として、 Sub Macro1() 'シート保護 ActiveSheet.Protect UserInterfaceOnly:=True End Sub
その他の回答 (4)
- taknt
- ベストアンサー率19% (1556/7783)
似たようなものですが、 シートの保護の解除は Worksheets("シート名").Unprotect 保護するときは ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True などとやってたりします。
お礼
すいません。締め切ってしまいました。 いろいろあるんですね。 ありがとうございます。
- big_fool
- ベストアンサー率22% (43/193)
No1さんの回答のようにシートを保護、解除するマクロを記入してみては Sub Macro1() 'シート保護 ActiveSheet.Protect End Sub Sub Macro2() 'シート保護解除 ActiveSheet.Unprotect End Sub
お礼
早速のご回答ありがとうございます。 なんとかできました。
- S-Fuji
- ベストアンサー率36% (592/1624)
マクロで、保護をしたセルに書き込みをしているのでは無いですか。 マクロで書き込むセルだけ保護されないようにしましょう。その他、計算式が入っているセルは保護する。 マクロで書き込むセルを選択し、右クリック - セルの書式設定 - 保護タブにある「ロック」のチェックを外しましょう。 これで、シートの保護をすると、ロックを外したセルにだけは書き込む事が出来ます。
お礼
どうもありがとうございます。 マクロ初心者なので助かりました。
- taknt
- ベストアンサー率19% (1556/7783)
マクロに、値をセット時いったん、解除して、 セットし終わったら、保護するようにしてあげれば いいですよ。
補足
やっぱりそれしか方法がないのでしょうか。 マクロに保護の解除をさせようとしたのですが、失敗しました。 早速のご回答ありがとうございます。
お礼
できました! どうもありがとうございます。