- ベストアンサー
VBAでシート挿入禁止、エクセル2007でファイル閉じると保存される状態にする方法とは?
- エクセルファイルを閉じるとその状態が保存されるようにするVBAを使ったファイルを作成したが、シート挿入タブでシートを挿入して閉じると保存されてしまう問題が発生する。
- ブックの保護ではシート表示切り替えがうまくいかず、シート挿入タブを非表示にする方法がわからない。
- VBAを使用してシート挿入を禁止する方法を知りたい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
追記、 見出しを消して ActiveWindow.DisplayWorkbookTabs = False シートの切り替えばボタンを追加してマクロで Sheets("Sheet2").Select とか
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
こういう問題を考えるときには、シート挿入のイベントがあるかどうかを調べると良かろう。あるとその機会をとらえて、手を打てる。 本件は「ThisWorkbook」のイベントに、たまたま下記があるので、下記を入れておくと、質問の要求にこたえられるのではないか。 Private Sub Workbook_NewSheet(ByVal Sh As Object) Application.DisplayAlerts = False MsgBox "シート挿入禁止" Sh.Delete Application.DisplayAlerts = True End Sub
お礼
私には初めてのイベント。こういうのもあるんですね。 かわいらしいメッセージボックスが出てきました。参考になりありがとうございました。
- nak777r
- ベストアンサー率36% (49/136)
EXCEL 2003 の場合 ツール → オプション のオプションダイアログに シート見出しというチェックボックスが有ります ActiveWindow.DisplayWorkbookTabs = true
お礼
エクセル2007の場合はシート見出しを非表示にするチェックボックスは見当たりませんでした。 教えていただいたtrueをfalseで試してみました。 見出しがないのでシートの切り替えがうまくいくか不安でしたがうまくいったのでありがたいです。切り替えはボタンにマクロの登録でやろうと思います。ありがとうございました。
- GOCHISOUda
- ベストアンサー率34% (50/144)
>ファイルを開くとsheet5だけが表示します。マクロを有効にするとそのシートを非表示にしてsheet1からsheet4が表示するようにしてあります。 このマクロの前後でブックの保護解除と設定が近道かと思います。 ActiveWorkbook.Unprotect’ここでブック保護解除 お使いのシート表示のコード ActiveWorkbook.Protect’ここでブック保護設定
お礼
そうですよね、最も基本ができていませんでした。他のマクロを実行させるときはシート保護の解除と設定を入れていたのに。ブックの保護は初めてだったので気が付きませんでした。ありがとうございます。
お礼
NO2と同じ方でしたね。今の自分にはこの方法が向いているなと感じています。ありがとうございました。大変助かりました。