アプリ版:「スタンプのみでお礼する」機能のリリースについて

Win2000 OfficeXPです。
アウトラインを設定し、シート保護をかけると、アウトラインのボタンをクリックしてもエラーが出てしまいます。
動作させる方法はあるのでしょうか?
保護はマクロを使用してかけています。

過去の類似質問の回答を見ると
 >代替策となりますが、
 >入力規則を使ってはいかがでしょうか?
 >「ユーザー設定」にして「*」で指定しておけば、
 >何が入力されてもエラーメッセージが出てきて、
 >書き換えられないようにできます。
とありますが、他の方法はありませんか?
よろしくお願いします。

A 回答 (2件)

No.1です。



>再び全シート保護のマクロを実行すると
>正常に作動するのですが。

もしかしてマクロを手動で実行していませんか?

↑が YES なら、
そうではなくて、ブックの OPEN イベントに記述してください。

次のようにしてください。
-------------------------
ALT + F11キーで VBE を起動
  ↓
画面左上のプロジェクトエクスプローラーにある
ThisWorkbook をダブルクリック
  ↓
右に表示されたコードウィンドウの上にある
オブジェクトボックス(General となっているところ)から Workbook を選択
  ↓
表示された Workbook_Open のプロシージャの中にコードを記述してください。
(シート保護のマクロも含めて)
----------------------------
Private Sub Workbook_Open()
<ここにコードを記述>
End Sub
----------------------------
※全シート保護でいいのなら
No.1のコードをそのままコピーして貼り付けてください。
◆こうしておけば、ファイルを開くときにこのマクロが自動的に実行されます。
◆手動で実行する必要はありません。
----
ついでに前回言い忘れましたが、
全シートに設定する必要がなければ(たとえば Sheet1 だけでいいのなら)
↓のようなコードになります。
---------------------------
Private Sub Workbook_Open()
 With Worksheets("Sheet1")
 .EnableOutlining = True
 .Protect UserInterfaceOnly:=True
 End With

End Sub
----------------------------
◆いずれにしても ThisWorkbook の OPEN イベントに記述してください。
    • good
    • 4
この回答へのお礼

回答ありがとうございます。

AloneAgainさんのおっしゃるとおり、
マクロを手動で実行していました。
わかりやすいフローチャートを元に再設定したところ、
エクセル再起動後も問題なくアウトラインが作動しました。
また、単独シートのみの設定方法についてもご教授頂き
ありがとうございました。

これを機に私もマクロについてもっと勉強しようと思います。

お礼日時:2005/03/08 00:55

こんばんは。



EnableOutlining プロパティを TRUE にすればできると思います。

たとえば、すべてのシートに設定するなら、
↓でどうでしょうか?
------------------------
Private Sub Workbook_Open()
Dim sh As Worksheet

For Each sh In Worksheets
sh.EnableOutlining = True
sh.Protect UserInterfaceOnly:=True
Next sh
End Sub
-------------------------
    • good
    • 2
この回答へのお礼

ありがとうございます。

試してみたところ、全シート保護した後も
アウトラインが正常に作動しました。
しかし、全シート保護をかけたままファイルを保存、
一旦エクセルを終了、そこで同ファイルを立ち上げなおすと
再びアウトラインが正常に作動せず保護解除を促すエラーメッセージが出てきました。
そこで再び全シート保護のマクロを実行すると
正常に作動するのですが。

お礼日時:2005/03/07 22:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!