Excelのシートが増えすぎて困ってる?これが解決策!
数が多すぎて目的のシートを開けない!
Excelのシートが増えて、開くのに困っている方はいませんか?
スクロールするのが大変ですよね。
シートメニューを表示しても、次々と表示するには何度もシートメニューを表示するのも大変ですよね。
シートに[メニュー]ボタンを作る
シートに[メニュー]ボタンを貼り付けてメニューを表示するようにします。図形の四角形を貼り付けます。
右クリックを押して[マクロの登録]から[シートメニュー]を登録します。
[メニュー]ボタンを押すとシートメニューが表示されます。
シートメニューでは、クリックしたらすぐにシートを表示しますので、シートを確認しながら連続してクリックすることが可能です。
マクロをダウンロード
[シートメニュー]のマクロは、[ExcelローコードYUGE]に登録されています。下記のリンクページからダウンロードできます。
>>> ダウンロード
[シートメニュー]マクロの解説
マクロ(VBA)をゼロから勉強するのは時間がかかります。
マクロの作り方を覚えたら、公開しているマクロを利用すると便利です。
[ExcelローコードYUGE]は、業務でよく使う操作をマクロ登録しているExcel Bookです。
ここでは、[ExcelローコードYUGE]に登録されている[シートメニュー]マクロについて説明します。
Sub シートメニュー()
'
'【構文】 fs_シートメニュー("<クリック表示>","<非表示シート>",メニュー初期値, 表示オプション)
'【戻り値】選択したシート名。[中止]したときは 空白 を返します。
'
'<クリック表示>:クリックしたときにシートを表示する
'<非表示シート>:表示しているけども、メニューに表示しないシート
'メニュー初期値:0~n
'表示オプション:True:全て表示/False:非表示シートを除く
'
On Error GoTo subError
SS = fs_シートメニュー("する", "サンプルマクロ,パーツ", 0, False)
'(結果表示)
If SS <> "" Then
NN = fn_確認(SS & " を 選択しました。", "i", "確認")
NN = fn_シート表示("サンプルマクロ", "", True)
End If
subExit:
Exit Sub
subError:
MsgBox Error$ & "(#" & Trim(Trim(Err.Number)) & ")", vbOKOnly + vbExclamation _
, "確認"
Resume subExit
End Sub
難しそうに見えますが、必要な命令は下の1行だけです。
SS = fs_シートメニュー("する", "サンプルマクロ,パーツ", 0, False)
このようにマクロを記述するとシートメニューを表示することができます。
シートメニューの[fs_シートメニュー]関数は、4つの引数(ひきすう)を指定して実行します。
fs_シートメニュー("<クリック表示>","<非表示シート>",メニュー初期値, 表示オプション)
1. <クリック表示>・・・サンプルでは、"する"になっています。
シートメニューをクリックしたと同時にシートを表示するかしないかを指定する引数です。("する" または "しない")
2. <非表示シート>・・・サンプルでは、"サンプルマクロ,パーツ"になっています。
シートメニューに表示したくないシート名を記入します。表示したくないシートが複数ある場合は、カンマ(,)で区切って記入します。
3. メニュー初期値・・・サンプルでは、0 になっています。
シートメニューを表示したときに初期値として選択したい番号を記入します。0 を記入すると未選択の状態で表示します。
4. 表示オプション・・・サンプルでは、False になっています。
非表示に設定しているシートを非表示にするかどうかを指定します。
True にすると非表示のシートもシートメニューに表示されます。
[シートメニュー]マクロ実行後
SS = fs_シートメニュー("する", "サンプルマクロ,パーツ", 0, False)
'(結果表示)
If SS <> "" Then
NN = fn_確認(SS & " を 選択しました。", "i", "確認")
NN = fn_シート表示("サンプルマクロ", "", True)
End If
シートメニューをクリックして[選択]ボタンを押すとシートメニューが閉じます。
SS変数(文字列)に選択したシート名が代入されます。
[×]を押して中止した場合は、SS変数は空白になります。
以上が、シートメニュー関数についての解説です。