Excelシートをスムーズにナビゲート: キーワードでシートを検索するVBAマクロの作成
Excelのワークブックに多くのシートがあるとき、特定のキーワードを含むシートをすばやく見つけることは、作業の効率を大幅に向上させることができます。今回は、キーワードでシートを検索して順にナビゲートできるVBAマクロの作成方法をご紹介します。
このマクロで実現できること
このVBAマクロを使用すると、ユーザーは特定のキーワードを含むシートを順に探すことができます。キーワードを入力すると、マクロは現在のシートの次から検索を開始し、キーワードを含む最初のシートをアクティブにします。
マクロの特徴
このマクロの主な特徴は次の通りです:
- 前回の検索キーワードが入力ボックスの既定値として使用されます。
- 現在のシートの次から検索が開始され、最後のシートまで検索されます。
- 最後のシートまで検索した後、最初のシートから再検索が行われます。
コード挿入
以下のVBAマクロコードをVBAエディタの標準モジュールに貼り付けます(挿入→標準モジュール)。
Dim CurrentSheetIndex As Integer Dim Keyword As String Sub FindSheetWithKeyword() Dim i As Integer Dim NewKeyword As String NewKeyword = InputBox("キーワードを入力してください", "キーワード検索", Keyword) If NewKeyword = "" Then Exit Sub End If Keyword = NewKeyword For i = CurrentSheetIndex + 1 To Sheets.Count If InStr(Sheets(i).Name, Keyword) > 0 Then Sheets(i).Activate CurrentSheetIndex = i Exit Sub End If Next i ' If not found till the end, start searching from the beginning For i = 1 To CurrentSheetIndex If InStr(Sheets(i).Name, Keyword) > 0 Then Sheets(i).Activate CurrentSheetIndex = i Exit Sub End If Next i MsgBox "キーワードが含まれるシートは見つかりませんでした。", vbInformation End Sub Sub FindNextSheetWithKeyword() Dim i As Integer If Keyword = "" Then MsgBox "まずキーワードを入力して検索を開始してください。", vbInformation Exit Sub End If For i = CurrentSheetIndex + 1 To Sheets.Count If InStr(Sheets(i).Name, Keyword) > 0 Then Sheets(i).Activate CurrentSheetIndex = i Exit Sub End If Next i MsgBox "他にキーワードが含まれるシートはありません。", vbInformation End Sub
実行時のユーザー操作
マクロを実行すると、ユーザーは次の操作を行います:
- 「FindSheetWithKeyword」マクロを実行してキーワードを入力します。
- キーワードを変更して再検索する場合は、再度「FindSheetWithKeyword」マクロを実行します。
- 同じキーワードで次のシートを探す場合は、「FindNextSheetWithKeyword」マクロを実行します。
実行後の確認事項
マクロを実行した後、ユーザーは次のことを確認できます:
- キーワードを含む最初のシートがアクティブになっています。
- 新しいキーワードで再検索を開始する場合、新しいキーワードで検索が行われます。
使用時の注意点
このマクロを使用する際に注意すべき点は以下の通りです:
- 大文字と小文字は区別されません。
- キーワードが見つからない場合、メッセージボックスが表示されます。
このVBAマクロは、多くのシートがあるExcelワークブックを効率的に管理するための強力なツールとなります。ぜひお試しください。
コメント