エクセルでマクロを作り登録しています。

シートの保護を設定するとマクロが作動しません。
色んなマクロに単にコピー&貼り付けをすれば、シートの保護を設定してもマクロが作動するコードをどなたか教えていただけませんでしょうか?
既に登録しているマクロのコードのココに貼り付けたらできますよ〜みたいな簡単にできるようお願いします。
友人に作ってもらったマクロなので、色を付けたり並べ替えたりする色んなマクロがあるんです・・・

簡単にできましたらポイントは必ず弾みます!よろしくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/08 19:32:17
  • 終了:--

回答(2件)

id:konorinori No.1

和食器屋koba回答回数3ベストアンサー獲得回数02006/02/08 21:57:41

ポイント100pt

URLはダミー


マクロ開始時にシートの保護を解除し、

終了時に再度保護をするようにしてはどうでしょうか。


シート保護解除:

ActiveSheet.Unprotect Password:=”pass”


間に必要なマクロを入れる


再度シート保護:

ActiveSheet.Protect Password:=”pass”, DrawingObjects:=True, _

contents:=True, UserInterfaceOnly:=True

http://www.moug.net/

�X�L���A�b�v�E���������̓��[�O�ɂ��܂����I�@�����R�~���j�e�B�T�C�g�@���[�O

またこのサイトでVBAなどの機能を詳しく調べることができます。

id:go4649

ばっちりです!

本当に本当にありがとうございました!

すっごく助かりました!

またよろしく宜しくお願いします!

2006/02/08 23:10:13
id:yuki_n No.2

yuki_n回答回数24ベストアンサー獲得回数02006/02/08 22:39:27

ポイント100pt

URLはダミーです。


質問内容から、ある程度は操作できる前提で。。


ブックを開いて、VBエディターを開いたら、

ThisWorkbook がツリーの中にあると思いますが、

それを選択していただいて、


下記をコピペ


Private Sub Workbook_Open()

For Each wSheet In Worksheets

wSheet.Protect UserInterFaceOnly:=True

Next wSheet

End Sub


内容を説明いたしますと。

ブックを開いたときに、ブック内の全シートを保護しています。

但し、『ユーザーインターフェースのみ』をです。

マクロに関しては自由自在に編集できます。


基本的には下記の部分で処理を行っているので、

wSheet.Protect UserInterFaceOnly:=True

wSheetの部分を

Sheets(”シート名”) という風にすれば、

好きなシートのみを保護することが可能でしょう。

パスワードを設定したいときは、


wSheet.Protect Password:=”任意のパスワード”, UserInterFaceOnly:=True


という感じで出来ると思います。


ちなみに、ブックを開いたときにしなければいけないわけでは無いですが、

一度ブックを閉じると、上記属性はなくなってしまい、また全ての保護がかかってしまうらしいです。

なので、ブックを開くたびに設定するように仕込んでおくと後々面倒が無くて便利だと思われます。


こんな感じでよろしかったでしょうか。。

先の方と被ってしまっているかなぁ。。

id:go4649

ありがとうございます!

1番の方で解決しましたが、きちんと

お礼させていただきます!

2006/02/08 23:11:03

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません