Excel ワークシートの選択
Excelでシートがたくさんになると探すのがとても面倒でした。一覧にして、クリックでジャンプできると便利なのに、なぜそういう機能がないのか。VBAで作りました。
こういうフォームをつくって、

こういうコードを書きました。
Private Sub SheetList_Click()
Sheets(SheetList.Value).Select
Unload JumpWorksheetForm
End Sub
Private Sub UserForm_Initialize()
Dim sh As Worksheet
Dim list_height As Integer
list_height = ActiveWorkbook.Sheets.Count * 10
list_height = Application.WorksheetFunction.Max(list_height, 40)
list_height = Application.WorksheetFunction.Min(list_height, 240)
JumpWorksheetForm.Height = list_height + 30
With SheetList
.Height = list_height
For Each sh In ActiveWorkbook.Sheets
.AddItem sh.Name
Next sh
End With
End Sub
さらにPERSONAL.XLSBにフォームを呼び出すコードをつけ、Ctrl + Shift + Jで呼び出すようにしました。
Sub JumpWorksheet()
JumpWorksheetForm.Show
End Sub
後の祭り
完成したあとで、Excelの標準機能に同じものがあるのを発見しました。
ウィンドウ下部の、シート名の左にある矢印を右クリックで、

こういうものが出てくる
