![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
特定のシートのみ除外してそれ以外のシートの情報のみ集約させるにはどうすればよいでしょうか。(例えばですが、シート名に■が付いている場合のみ無視して、それ以外のシート名のシートをすべて集約したい)
<特定のシートのみ集約するマクロの一文>
Const FIND_STR = "■"
(途中省略)
If sh.Name Like "*" & FIND_STR & "*" Then
sh.UsedRange.Offset(1).Copy _
Destination:=dWS.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End If
マクロ中の一文ですが、「シート名に■がある場合(集約する)」という文章で、■があるシートのみひろってきて処理(集約等)を行います。このマクロはうまく作動します。
これを「シート名に■がない場合(集約する)」という文章に変更するにはどうすればよいのでしょうか。Likeの部分を<>に変更してもマクロがうまく作動してくれません。
簡略化して質問していますが、
実際はとあるエクセルブックにある多くのシートの情報(シート名もばらばら)を別のエクセルブックに集約するものの、一部のシートの情報は集約不要です。集約不要なシートのみシート名に何かの印、例えばですが今回のように「■」をつけて集約しないようにしたいです。
*当方、WIN10、エクセル2016です。
*If sh.Name~の条件文の変更、修正が主目的です。
*エクセルブックには、いろいろなパターンのシート名が存在しますが、集約除外したいシートのみシート名に■をつける(これは事前の手作業の話です)などして除外したいです。
No.3
- 回答日時:
No.2の回答にある Not を使うほうがエレガントですね。
(笑)Like演算子の否定は?:エクセルマクロ・Excel VBAの使い方/条件分岐
https://www.relief.jp/docs/excel-vba-not-like.html
↑
この記事だと、カッコを入れるとわかりやすいよって。
もちろん、無くても大丈夫だけど。
If Not (sh.Name Like "*" & FIND_STR & "*") Then
No.1
- 回答日時:
手っ取り早いのは
If sh.Name Like "*" & FIND_STR & "*" Then
Else
【処理】
End If
と、Then の場合の処理を空にしておく方法かな。
ぐうぉあああああーーー
一発で希望の結果が得られました。ありがとうございます。
今後は迷わずThenの処理を空にしようと思います。
でも気になるのですが、
Likeは「シート名に■があるっぽいシートは拾ってこい」という命令文で、Likeを<>にすることによって、「シート名に■があるっぽシート以外を拾ってこい」という命令文にはならないのでしょうか。If文を修正する方法は無いのでしょうか。(迷わずThenの処理を空にすると言っておきながらすみません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VBAで指定シート以外の選択
Visual Basic(VBA)
-
特定の複数のシートに同じ処理をさせたい
Excel(エクセル)
-
マクロを特定の複数シートで実行する方法
Excel(エクセル)
-
-
4
指定したシート名以外を非表示にするには?VBA
Excel(エクセル)
-
5
Excel VBA で特定のシートのみ除外
その他(Microsoft Office)
-
6
【ExcelVBA】指定のシート以外を削除する方法
Visual Basic(VBA)
-
7
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
8
複数ファイルから特定シートのコピー
Excel(エクセル)
-
9
Excel VBA 特定の複数のシートのみ保存する方法
Excel(エクセル)
-
10
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
11
【VBA】シート名に特定文字が入っていたらマクロを実行したいです。
Visual Basic(VBA)
-
12
Excel VBAである特定文字列を含むシート名例えば「りんご(1)」
Excel(エクセル)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
15
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
16
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
エクセルのマクロで印刷プレビューを閉じる方法
Excel(エクセル)
-
19
EXCEL VBA 特定シート以外のシート削除
Excel(エクセル)
-
20
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
【ExcelVBA】マクロの入ったシ...
-
特定のシートのみ再計算させな...
-
ハイパーリンクでジャンプした...
-
Wordで差し込み印刷時に表示す...
-
EXCELの図形(テキストボックス)...
-
【Excel VBA】データ貼り付け先...
-
エクセルで複数のシートに画像...
-
エクセル、特定のシートにパス...
-
特定の複数のシートに同じ処理...
-
エクセルシートのタブの階層化表示
-
エクセルの2つのシートを並び...
-
アクセスからエクセルのシート...
-
エクセルでリンク貼り付けした...
-
Accessのテーブルを既存のExcel...
-
エクセルのシート名のフォント...
-
Excel 全シート上のボタンを削...
-
エクセルのシート連番の振り直し
-
エクセルを開くとメニューバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルで複数のシートに画像...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
ワークシートそのものの色を変...
-
【ExcelVBA】マクロの入ったシ...
-
ハイパーリンクでジャンプした...
-
エクセルのシート連番の振り直し
-
エクセル、特定のシートにパス...
-
エクセルの2つのシートを並び...
-
エクセルのシー名を二段表示に...
-
Wordで差し込み印刷時に表示す...
-
Accessのテーブルを既存のExcel...
-
【Excel VBA】データ貼り付け先...
-
EXCELの「シートの見出し」のフ...
-
EXCELの図形(テキストボックス)...
-
accessへエクセルの複数のシー...
-
アクセスからエクセルのシート...
-
特定の複数のシートに同じ処理...
-
エクセルで、シートの名前を変...
おすすめ情報