
特定のシートのみ除外してそれ以外のシートの情報のみ集約させるにはどうすればよいでしょうか。(例えばですが、シート名に■が付いている場合のみ無視して、それ以外のシート名のシートをすべて集約したい)
<特定のシートのみ集約するマクロの一文>
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も見ています
-
VBAで指定シート以外の選択
Visual Basic(VBA)
-
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
VBAで特定のシート以外のシート名を変更したい
Visual Basic(VBA)
-
-
4
Excel VBA 特定の複数のシートのみ保存する方法
Excel(エクセル)
-
5
【ExcelVBA】指定のシート以外を削除する方法
Visual Basic(VBA)
-
6
マクロを特定の複数シートで実行する方法
Excel(エクセル)
-
7
Excel VBAである特定文字列を含むシート名例えば「りんご(1)」
Excel(エクセル)
-
8
Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい
Excel(エクセル)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
マクロを複数シートに実行するには?
Excel(エクセル)
-
11
指定したシート名以外を非表示にするには?VBA
Excel(エクセル)
-
12
【VBA】シート名に特定文字が入っていたらマクロを実行したいです。
Visual Basic(VBA)
-
13
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
14
エクセルマクロでシート名を条件にする方法
Excel(エクセル)
-
15
Excel VBA で特定のシートのみ除外
その他(Microsoft Office)
-
16
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
17
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
18
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
19
ExcelVBAで、指定したシートに対して同じ処理を行いたい
Excel(エクセル)
-
20
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルシートの見出しの文字...
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
ハイパーリンクでジャンプした...
-
【ExcelVBA】マクロの入ったシ...
-
エクセル、特定のシートにパス...
-
エクセルで複数のシートに画像...
-
EXCELの図形(テキストボックス)...
-
EXCELで存在しないシート...
-
エクセルで、シートの名前を変...
-
ワークシートそのものの色を変...
-
別シートの文字列があったら現...
-
PowerQueryで行数の指定はでき...
-
エクセルのシー名を二段表示に...
-
(エクセル)Indirect関数で、ハ...
-
エクセルで誤ってF11キーを押す...
-
エクセルを開くとメニューバー...
-
エクセルの複数シートでのリン...
-
Wordで差し込み印刷時に表示す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
【ExcelVBA】マクロの入ったシ...
-
ハイパーリンクでジャンプした...
-
特定のシートのみ再計算させな...
-
EXCELの図形(テキストボックス)...
-
エクセルで複数のシートに画像...
-
エクセルのファイルサイズが急...
-
エクセル、特定のシートにパス...
-
Accessのテーブルを既存のExcel...
-
エクセルのシー名を二段表示に...
-
エクセルの2つのシートを並び...
-
EXCELで存在しないシート...
-
エクセルの複数シートでのリン...
-
エクセルで、シートの名前を変...
-
EXCELの「シートの見出し」のフ...
-
Wordで差し込み印刷時に表示す...
-
ワークシートそのものの色を変...
-
エクセルを開くとメニューバー...
-
エクセル、別のシートの表をポ...
おすすめ情報