
Excel VBAである特定文字列を含むシート名例えば「りんご(1)」「みかん(1)」「みかん(2)」「いちご(1)」のシート名があるファイルに対して「みかん*」で検索を行い、一致したシート(複数Sheet)=「みかん(1)」「みかん(2)」に対して処理を行う方法はありますでしょうか。
宜しくお願いいたします。
完全一致するファイルは下記のようなのですが、Scheck = 0の部分が理解でいません。
型は何にすればよいのでしょうか。
Sub Sheet_Add5()
Scheck = 0
For Each sheet_name In Worksheets
If sheet_name.Name = ("検索シート名") Then
Scheck = 1
Exit For
End If
Next
If Scheck = 0 Then
Sheets.Add.Name = "検索シート名"
End If
End Sub
No.4ベストアンサー
- 回答日時:
for each s in worksheets
if s.name like "みかん*" then
'do みかん*
elseif s.name = "りんご" then
'do りんご
else
'do any other
end if
next
のように。
#みかん1,みかん2,もしかしたらみかん3ぐらいまでに限定できますという話であるなら
select case s.name
case "みかん1" to "みかん9"
msgbox "みかんs"
case "りんご"
msgbox "りんご"
case else
end select
のようにもできます。
早速のお返事ありがとうございました。
「みかん」シートをコピーすると「みかん(1)」「みかん(2)」とかになりますよね。
今回はそういった形で運用されるシートに対してのみ処理をしたかったので、()をつけた場合どうも上手くいきませんでした。
色々試すうちに下記のやり方でなんとか行けそうという方法がわかりました。
今回も色々勉強させていただきました。
ありがとうございました。
Sub SelectCaseステートメントで○○を含むの書き方()
Dim msg As Variant
For Each myWS In Worksheets
msg = myWS.Name
Select Case True
Case msg Like "みかん*"
myWS.Activate
Case msg Like "Sheet1"
Range("a1").Select
Case msg Like "りんご*"
Range("b6").Select
Case Else
Range("c11").Select
End Select
Next
End Sub
No.3
- 回答日時:
今のマクロでそこにExit Forを置いてしまったら最初のりんごで脱出してしまい,次以降のりんごがもう出来ません。
sub macro1()
dim s as worksheet
for each s in worksheets
if s.name like "りんご*" then
s.activate
msgbox s.name
end if
next
end sub
この回答への補足
すみません
その該当するシートのみ2・3枚(=みかん1・みかん2シートなど)に対してのみ処理をしたいので
Sub シートチェックcase使用()
For Each myWS In Worksheets
select Case myWS.Name
Case "みかん*"
myWS.Activate
Case "Sheet1"
Range("a1").Select
Case "りんご"
Range("b6").Select
Case Else
Range("c11").Select
End Select
Next
End Sub
こんな感じかと思いついたのですが、Case "みかん*" 部分の「みかん」を含むシートにヒットしません。
どのように記述すれば「みかん」を含むシートのみを対象にできるのでしょうか
お手数ですが、ご教授をお願い致します。
No.2
- 回答日時:
>If Scheck = 0 Then
>Sheets.Add.Name = "検索シート名"
>End If
Scheckにはシート検索の判定結果が入ってます。
0初期値、見つかったときのみ1、見つからなかったら0(のまま)
If Scheck = 0 Then
見つからなかったときの処理
else
見つかったときの処理
End If
No.1
- 回答日時:
Scheck の形を何にするかの質問に対しては、
"検索シート名" が有るか無いかのスイッチですので、
integer で良いと思います。
「みかん*」で検索を行うのは、
If left(sheet_name.Name,3) = ("みかん") Then
で良いと思います。
外していたらごめん
ではでは。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
【VBA】シート名に特定文字が入っていたらマクロを実行したいです。
Visual Basic(VBA)
-
特定の文字があるシート名を選んでシート名を変更したい(VBA)
Excel(エクセル)
-
-
4
セルの値と同じ名前のシートをアクティブにするには?
Excel(エクセル)
-
5
特定の文字を含むシートを選択するには
Visual Basic(VBA)
-
6
特定のシート名のシートのみ除外して、それ以外のシート名のシートをすべて集約する方法(VBA)
Excel(エクセル)
-
7
【VBA】特定の文字が入っている行の一部を抽出して別シートコピーするには
Visual Basic(VBA)
-
8
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
9
エクセルVBAで、ある文字を含んでいたら別シートに抽出したい
Excel(エクセル)
-
10
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
11
InputBoxに入力した言葉をシート名にしたい!
Excel(エクセル)
-
12
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
13
指定したシート名以外を非表示にするには?VBA
Excel(エクセル)
-
14
VBA 見つからなかった時の処理
Excel(エクセル)
-
15
VBAで指定シート以外の選択
Visual Basic(VBA)
-
16
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
17
VBA 空白行に転記する
Visual Basic(VBA)
-
18
特定のセルに数値が入っているシートのみ印刷する方法
Excel(エクセル)
-
19
【ExcelVBA】指定のシート以外を削除する方法
Visual Basic(VBA)
-
20
EXCEL ページを指定してPDF出力するVBAを教えてください。
PDF
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
今白いちじくを食べようとして2...
-
すいかは発酵しても食べられるか。
-
スイカが炭酸の味!
-
こんなスイカは食べても大丈夫...
-
「であり」と「であって」の使...
-
スイカは腐るとどんな味がしま...
-
7文字以上のフルーツをできるだ...
-
スーパーで買った1つ300円の梨...
-
北海道では、見かけないもの
-
教えてください!!
-
質問です。身近なものでできる...
-
お中元で届けられた、すいか ...
-
プラムの太陽とネクタリンの違い
-
北海道の方に喜ばれる食べ物と...
-
近年、梨、桃、リンゴがやたら...
-
スイカをカットした場合、どの...
-
果実の収穫作業の言葉
-
離乳食にローリエ
-
とうもろこし 粒の根元がオレ...
-
切ったら梨の真ん中が茶色黒く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
皆さんはステーキと言えば何を...
-
7文字以上のフルーツをできるだ...
-
「であり」と「であって」の使...
-
ラズベリーの種の抜き方を教え...
-
すいかは発酵しても食べられるか。
-
煮物こんにゃくの冷凍保存について
-
何という名前の虫か教えてください
-
中黒「・」か読点「、」か?
-
スイカが炭酸の味!
-
スーパーで買った1つ300円の梨...
-
【ぶどう】 友人からデラウェア...
-
4歳の子供がさくらんぼを種ご...
-
とうもろこし 粒の根元がオレ...
-
教えてください!!
-
北海道では、見かけないもの
-
こんなスイカは食べても大丈夫...
-
ブルーベリージャムに種?
-
スイカは腐るとどんな味がしま...
-
今白いちじくを食べようとして2...
-
さくらんぼの致死量が2個ってホ...
おすすめ情報