• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでシート挿入を禁止したい。)

VBAでシート挿入禁止、エクセル2007でファイル閉じると保存される状態にする方法とは?

このQ&Aのポイント
  • エクセルファイルを閉じるとその状態が保存されるようにするVBAを使ったファイルを作成したが、シート挿入タブでシートを挿入して閉じると保存されてしまう問題が発生する。
  • ブックの保護ではシート表示切り替えがうまくいかず、シート挿入タブを非表示にする方法がわからない。
  • VBAを使用してシート挿入を禁止する方法を知りたい。

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

  • ベストアンサー
  • nak777r
  • ベストアンサー率36% (49/136)
回答No.4

追記、 見出しを消して ActiveWindow.DisplayWorkbookTabs = False シートの切り替えばボタンを追加してマクロで Sheets("Sheet2").Select とか

kafun-show
質問者

お礼

NO2と同じ方でしたね。今の自分にはこの方法が向いているなと感じています。ありがとうございました。大変助かりました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

こういう問題を考えるときには、シート挿入のイベントがあるかどうかを調べると良かろう。あるとその機会をとらえて、手を打てる。 本件は「ThisWorkbook」のイベントに、たまたま下記があるので、下記を入れておくと、質問の要求にこたえられるのではないか。 Private Sub Workbook_NewSheet(ByVal Sh As Object) Application.DisplayAlerts = False MsgBox "シート挿入禁止" Sh.Delete Application.DisplayAlerts = True End Sub

kafun-show
質問者

お礼

私には初めてのイベント。こういうのもあるんですね。 かわいらしいメッセージボックスが出てきました。参考になりありがとうございました。

  • nak777r
  • ベストアンサー率36% (49/136)
回答No.2

EXCEL 2003 の場合 ツール → オプション のオプションダイアログに シート見出しというチェックボックスが有ります ActiveWindow.DisplayWorkbookTabs = true

kafun-show
質問者

お礼

エクセル2007の場合はシート見出しを非表示にするチェックボックスは見当たりませんでした。 教えていただいたtrueをfalseで試してみました。 見出しがないのでシートの切り替えがうまくいくか不安でしたがうまくいったのでありがたいです。切り替えはボタンにマクロの登録でやろうと思います。ありがとうございました。

回答No.1

>ファイルを開くとsheet5だけが表示します。マクロを有効にするとそのシートを非表示にしてsheet1からsheet4が表示するようにしてあります。 このマクロの前後でブックの保護解除と設定が近道かと思います。 ActiveWorkbook.Unprotect’ここでブック保護解除 お使いのシート表示のコード ActiveWorkbook.Protect’ここでブック保護設定

kafun-show
質問者

お礼

そうですよね、最も基本ができていませんでした。他のマクロを実行させるときはシート保護の解除と設定を入れていたのに。ブックの保護は初めてだったので気が付きませんでした。ありがとうございます。

関連するQ&A

専門家に質問してみよう