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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 以前シートを集めて1シートへ繋げる下記コードをご教授いただき作成しました。 今回すでに集めてある「ま 1 2022/08/29 20:38
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
【VBA】シート名に特定文字が入っていたらマクロを実行したいです。
Visual Basic(VBA)
-
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
特定の文字を含むシートを選択するには
Visual Basic(VBA)
-
-
4
指定文字が含まれるシートを削除したいです
Visual Basic(VBA)
-
5
特定の複数のシートに同じ処理をさせたい
Excel(エクセル)
-
6
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
7
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
8
マクロを特定の複数シートで実行する方法
Excel(エクセル)
-
9
エクセルVBAで、ある文字を含んでいたら別シートに抽出したい
Excel(エクセル)
-
10
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
11
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
12
特定のシート名のシートのみ除外して、それ以外のシート名のシートをすべて集約する方法(VBA)
Excel(エクセル)
-
13
VBA シート名が一致した場合の転記内容について
Visual Basic(VBA)
-
14
Excel VBA シート名変更時、重複していたら連番を付けたい
その他(Microsoft Office)
-
15
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
16
ExcelVBAで、指定したシートに対して同じ処理を行いたい
Excel(エクセル)
-
17
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
18
複数のExcelファイルにある同名シートを1つのシートに一括でまとめるには?
Excel(エクセル)
-
19
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
20
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えてください!!
-
7文字以上のフルーツをできるだ...
-
筍の上の部分が緑色になってい...
-
スポンジケーキってどのくらい...
-
中黒「・」か読点「、」か?
-
Excel MATCH関数で検索範囲内...
-
梶井基次郎の檸檬
-
しらたきと吐き気
-
Excelでの全通りの組み合わせ出...
-
ハーブソルトを代用できるもの...
-
エクセルで数字を入力したら文...
-
エクセル 同名の場合はB列にC...
-
スーパーで買った1つ300円の梨...
-
職場で隣の人についてです。飲...
-
「であり」と「であって」の使...
-
Excelの関数 SUBSTITUTEとIF関...
-
河内晩柑と薬の服用
-
果物が大嫌いな私、果物代わり...
-
何という名前の虫か教えてください
-
10年前のにんにく漬け、食べて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
7文字以上のフルーツをできるだ...
-
教えてください!!
-
スポンジケーキってどのくらい...
-
ハーブソルトを代用できるもの...
-
Excel MATCH関数で検索範囲内...
-
中黒「・」か読点「、」か?
-
Excelでの全通りの組み合わせ出...
-
バルサミコ酢とバルサミコソー...
-
外はふわふわで(柔らかい)、...
-
エクセルで数字を入力したら文...
-
「であり」と「であって」の使...
-
インドの国旗とアイルランドの...
-
職場で隣の人についてです。飲...
-
エクセル 同名の場合はB列にC...
-
Excelの関数 SUBSTITUTEとIF関...
-
しらたきと吐き気
-
ライム(果物)を漢字になおす...
-
東京モノレールはスイカで乗れ...
-
スーパーで買った1つ300円の梨...
-
せとか(オレンジみたいなやつ...
おすすめ情報