ユーザーにワークシートの切り替えをしてほしくない場合などに使用できる、シートの切り替えを無効にする方法です。シートのOnSheetActivateプロパティを使います。
シートの切り替えを出来ないようにする方法
■構文
Application.OnSheetActivate = "実行するマクロ名"
VBA入力画面
入力したコードです。
Private Sub シート2を無効()
Worksheets("Sheet1").Select
MsgBox "Sheet2への切り替えはできません"
End Sub
Sub シートの切り替えを出来ないようにする()
Worksheets("Sheet1").Activate
Worksheets("Sheet2").OnSheetActivate = "シート2を無効"
End Sub
プログラムの説明
Private Subプロシージャの宣言
Private Sub シート2を無効()
Sheet1を選択する
Worksheets("Sheet1").Select
メッセージボックスの表示
MsgBox "Sheet2への切り替えはできません"
プロシージャの終了
End Sub
Subプロシージャの宣言
Sub シートの切り替えを出来ないようにする()
Sheet1を有効にする
Worksheets("Sheet1").Activate
OnSheetActivateプロパティにマクロ名を設定する
Worksheets("Sheet2").OnSheetActivate = "シート2を無効"
プロシージャの終了
End Sub
シート切り替えを無効にする実行画面
マクロの実行画面です。シートの切り替えを出来ないようにするマクロを実行します。
シート切り替えタブでSheet2をクリックすると、Sheet1に戻り「Sheet2への切り替えはできません。」とメッセージが表示されます。
Excelマクロのサンプルファイル:
フリーダウンロード
Copyright (C) excel.usefulhp.com All rights reserved.