Excelのシートを検索してジャンプするマクロ

効率化

ここのところ、大量のシートを持つExcelファイルを編集することがあり、対象のシートを探すだけで一苦労・・・
あまりに面倒なのでシート名を検索して表示するマクロを書きました。

短いコードだし、同じようなことで面倒な思いをしている方の参考までに共有しておきます。

Sub シートジャンプ()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim i As Integer
    
    Set wb = ActiveWorkbook
    Set ws = wb.ActiveSheet
    
    Dim targetSheetName As String
    targetSheetName = InputBox("シート名を入力してください")
    
    If targetSheetName = "" Then Exit Sub
    
    For i = ws.Index + 1 To wb.Sheets.Count
        If InStr(wb.Sheets(i).Name, targetSheetName) <> 0 Then
            wb.Sheets(i).Activate
            Exit Sub
        End If
    Next
    For i = 1 To ws.Index
        If InStr(wb.Sheets(i).Name, targetSheetName) <> 0 Then
            wb.Sheets(i).Activate
            Exit Sub
        End If
    Next
    Call MsgBox("該当シートなし", vbOKOnly)
End Sub

上記のままだと部分一致検索で大文字と小文字は区別されます。使い方に応じてコードを書き換えてください。

よく使う場合はマクロにショートカットキーを割り当てておくと便利です。

Excel

Posted by moto2g