• ベストアンサー

エクセルで保護するとマクロが使えなくなるのですが。

売上のデータを入力してマクロで集計をしてます。 ただ、計算式が入ってますので、シートを保護したのですが、するとマクロが使えなくなってしまいました。 解決策はあるのですか?

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

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.4

シート保護しても、マクロでの書き込みを許可したい場合は、#3さんの応用として、 Sub Macro1() 'シート保護 ActiveSheet.Protect UserInterfaceOnly:=True End Sub

bokunioshiete
質問者

お礼

できました! どうもありがとうございます。

その他の回答 (4)

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.5

似たようなものですが、 シートの保護の解除は Worksheets("シート名").Unprotect 保護するときは ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True などとやってたりします。

bokunioshiete
質問者

お礼

すいません。締め切ってしまいました。 いろいろあるんですね。 ありがとうございます。

  • big_fool
  • ベストアンサー率22% (43/193)
回答No.3

No1さんの回答のようにシートを保護、解除するマクロを記入してみては Sub Macro1() 'シート保護 ActiveSheet.Protect End Sub Sub Macro2() 'シート保護解除 ActiveSheet.Unprotect End Sub

bokunioshiete
質問者

お礼

早速のご回答ありがとうございます。 なんとかできました。

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.2

 マクロで、保護をしたセルに書き込みをしているのでは無いですか。  マクロで書き込むセルだけ保護されないようにしましょう。その他、計算式が入っているセルは保護する。  マクロで書き込むセルを選択し、右クリック - セルの書式設定 - 保護タブにある「ロック」のチェックを外しましょう。  これで、シートの保護をすると、ロックを外したセルにだけは書き込む事が出来ます。

bokunioshiete
質問者

お礼

どうもありがとうございます。 マクロ初心者なので助かりました。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

マクロに、値をセット時いったん、解除して、 セットし終わったら、保護するようにしてあげれば いいですよ。

bokunioshiete
質問者

補足

やっぱりそれしか方法がないのでしょうか。 マクロに保護の解除をさせようとしたのですが、失敗しました。 早速のご回答ありがとうございます。

関連するQ&A