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