
Win2000 OfficeXPです。
アウトラインを設定し、シート保護をかけると、アウトラインのボタンをクリックしてもエラーが出てしまいます。
動作させる方法はあるのでしょうか?
保護はマクロを使用してかけています。
過去の類似質問の回答を見ると
>代替策となりますが、
>入力規則を使ってはいかがでしょうか?
>「ユーザー設定」にして「*」で指定しておけば、
>何が入力されてもエラーメッセージが出てきて、
>書き換えられないようにできます。
とありますが、他の方法はありませんか?
よろしくお願いします。
No.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 イベントに記述してください。
回答ありがとうございます。
AloneAgainさんのおっしゃるとおり、
マクロを手動で実行していました。
わかりやすいフローチャートを元に再設定したところ、
エクセル再起動後も問題なくアウトラインが作動しました。
また、単独シートのみの設定方法についてもご教授頂き
ありがとうございました。
これを機に私もマクロについてもっと勉強しようと思います。
No.1
- 回答日時:
こんばんは。
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
-------------------------
ありがとうございます。
試してみたところ、全シート保護した後も
アウトラインが正常に作動しました。
しかし、全シート保護をかけたままファイルを保存、
一旦エクセルを終了、そこで同ファイルを立ち上げなおすと
再びアウトラインが正常に作動せず保護解除を促すエラーメッセージが出てきました。
そこで再び全シート保護のマクロを実行すると
正常に作動するのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
【マクロ】【相談】Excelブック...
-
【 Excel】シートの見出しに自...
-
エクセルのVBAで集計をしたい
-
マクロを特定の複数シートで実...
-
【Excel】複数あるシート上の住...
-
Excelのマクロの呼び出し元を知...
-
マクロを複数シートに実行する...
-
エクセルで回数をカウントする...
-
エクセルでセルの値をクランプ...
-
エクセルを開いたとき常に同じ...
-
エクセルでシートの並び替えで...
-
エクセルを閉じる際に自動保存...
-
エクセル ヘッダー(フッター)...
-
エクセル シート保護をかける...
-
エクセルファイルのシート毎の容量
-
excelの不要な行の削除ができな...
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
エクセルを共有するとPCによっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
エクセルのVBAで集計をしたい
-
【 Excel】シートの見出しに自...
-
【マクロ】【相談】Excelブック...
-
エクセルを開いたとき常に同じ...
-
マクロを複数シートに実行する...
-
EXCELのエラー
-
Excelのマクロの呼び出し元を知...
-
VBAで条件によってシート見出し...
-
マクロを特定の複数シートで実...
-
VBA シート名を先月の名前に...
-
EXCELでマクロを使わずに図形の...
-
エクセルのチェックボックス
-
エクセルでシートの並び替えで...
-
エクセルの複数のワークシート...
-
EXCELでワークシートを開いたら...
-
エクセルで複数のSheetを一括フ...
-
エクセルで、マクロボタンの表...
-
ExcelのSheetに作られたMacro1...
-
エクセル・複数のシートを一度...
おすすめ情報