HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > 特定の文字が含まれているシート名が付けられたシートをすべて選択状態にする

即効テクニック

シート操作関連のテクニック

特定の文字が含まれているシート名が付けられたシートをすべて選択状態にする

(Excel 97/2000)
特定の文字が含まれているシート名、たとえば「MOUG」という文字が含まれている「MOUG0001」「A1_MOUG」といった名前が付けられたシートをすべて選択された状態にするサンプルマクロを紹介します。
標準モジュールに次のマクロを作成してください。
Sub Sample()

    Dim myWS As Worksheet

    MsgBox "「MOUG」が含まれるシートをすべて選択します"
    
    For Each myWS In Worksheets
        If myWS.Name Like "*MOUG*" Then
            If ActiveSheet.Name Like "*MOUG*" Then
                myWS.Select (False)
            Else
                myWS.Select
            End If
        End If
    Next

End Sub
シート名を取得するには、Nameプロパティを使います。
For Each...Nextステートメントで、すべてのシートに対してシート名のチェックを行っています。その際、2つの文字列の比較を行うLike演算子で、ワイルドカード文字のアスタリスク(*)を使ってパターン比較しています。
チェック中のシートが該当のものであり、且つ、既に選択されているシートの名前にも「MOUG」が含まれていたら、既に選択されているすべてのシートとチェック中のシートを選択したいので、Selectメソッドの引数に「False」を指定します。「False」を指定すると、既に選択されていたオブジェクトと指定したオブジェクトを選択することができます。