対象:Excel 2010, Excel 2013, Windows版Excel 2016
「マクロ シート名 指定 一部」
「vba シート名 指定の文字列を含む 条件文」
といった検索キーワードでアクセスがありました。
名前に指定した文字列が含まれるシートを指定したい、ワイルドカードを使ってシート名を指定したい、という要望です。
「特定のシート名 繰り返す マクロ」
という検索キーワードも同様でしょう。
[スポンサードリンク]
シート名をワイルドカード指定するサンプルマクロ
以下のSubプロシージャを実行すると、シート名に「マスター」という文字列の含まれるシートが、順番に選択され、そのシート名がメッセージボックスに表示されます。
Sub シート名をワイルドカード指定するサンプル()
Const FIND_STR = "マスター" Dim sh As Object
For Each sh In Sheets
If sh.Name Like "*" & FIND_STR & "*" Then
sh.Select
MsgBox sh.Name
End If
Next sh
End Sub
Const FIND_STR = "マスター" Dim sh As Object
For Each sh In Sheets
If sh.Name Like "*" & FIND_STR & "*" Then
sh.Select
MsgBox sh.Name
End If
Next sh
End Sub
シート名をワイルドカード指定するサンプルで行っている処理
すべてのシートに対して、For Each~Nextループを回して、
Dim sh As Object
For Each sh In Sheets
シートの名前が、定数FIND_STRに指定された文字列を含んでいるかを、ワイルドカード「*」とLike演算子を使って調べています。
If sh.Name Like "*" & FIND_STR & "*" Then
上記のSubプロシージャでは、全てのシートにループ処理を行っていますが、ワイルドカード指定で見つかった最初のシートにだけ処理をしたいのなら、
End If
の前に、「Exit Sub」などを入れてループを抜けてください。
最終更新日時:2019-01-12 05:41
[スポンサードリンク]
- Newer:リアル書店の在庫確認用リンク
- Older:データラベルに系列名を表示するExcelマクロ
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAでシート名をワイルドカード指定する