特定の文字が含まれているシート名、たとえば「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」を指定すると、既に選択されていたオブジェクトと指定したオブジェクトを選択することができます。