• 締切済み

VBA シートの切り替えができないようにするには

こんにちは。いつもこちらでお世話になっています。 現在、VBAでフォームを利用したマクロを組んでいます。 あるボタンを押したときにマクロが実行された後、終了ボタンを押すまでの間はアクティブシートを移動してほしくない場合、シートの切り替えができないように制御したいのですが、ワークシートに直接イベントとして記述したくない場合はどうしたら良いでしょう? いっそのこと、ウインドウからシート選択ができないように画面を操作すれば良いのでしょうか? その方法はどうやって記述すればいいのでしょうか? それとも、シート切り替えのイベントをフォームで感知することができるのでしょうか? 困っています、、どなたか助けてください。 ウィンドウからシート選択ができないようにする方法だけでも結構です。 よろしくお願いします。

みんなの回答

  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.3

>ウインドウからシート選択ができないように画面を操作 1.タブを非表示にする 2.アクティブシート以外非表示にする こんな感じでしょうか。

nao_lin
質問者

お礼

タブを非表示にするコードがわからなかったのですが、解決しました。どうもありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

簡単なのは、あるボタンを押してマクロが実行されたときに、ワークシートタブを隠してしまうようにする。これが安直過ぎるのならアクティブシート以外を非表示にしてブック保護をかけるマクロも同時に走らせたらいかがでしょうか?

nao_lin
質問者

お礼

やっぱりこれが一番シンプルですよね、結局、タブを隠すことで処理することにしました。コードがわからなかったのですが、解決しました。どうもありがとうございました。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

タブの非表示 ActiveWindow.DisplayWorkbookTabs = False

nao_lin
質問者

お礼

タブを非表示にするコードがわからなかったのです、解決しました。どうもありがとうございました。