所定の条件に一致しないシートすべてを削除する

この講座は有料講座です。
講座の購入後ご覧になれます。

ログインアカウントの新規作成

解説

所定のシート以外のすべてのシートを削除するマクロを作ります。前回はひとつのシートだけでしたが、今回は残すシートが複数になります。残すシートを指定するための条件は、動画で示した条件以外にもいろいろ考えられますので、各自で考えてみてください。

この教材についての過去の質問・感想

5817 : 小川慶一の回答 (2016-02-23 13:45:55)

受講生 さん:

ですか。
このシリーズ動画は、すごい力つきますよ!ぜひ、ひとつずつガッツリマスターしていってください。ぜんぶ消化しきったころには、たいていの仕事は楽勝になっているかと☆




>今作成しているマクロがまさにこれ・・伝票ではないですが品名ごとにシート作成・集計・転記・削除の繰り返しを日々の仕事としてます。
>シート作成・削除がこれでできました。ワクワクしてきました。今月完成できるかも・\^:^/・・(集計に悪戦苦闘ですが^:^;)


5804 : 受講生さんのコメント (2016-02-21 01:54:27)

今作成しているマクロがまさにこれ・・伝票ではないですが品名ごとにシート作成・集計・転記・削除の繰り返しを日々の仕事としてます。
シート作成・削除がこれでできました。ワクワクしてきました。今月完成できるかも・\^:^/・・(集計に悪戦苦闘ですが^:^;)


2475 : 小川慶一の回答 (2014-09-15 09:14:37)

匿名 さん:

いつもフィードバックありがとうございます。

>個人的にはLeft関数を使う方が分かりやすかったです。

かもしれないですね。
実務では都合よくこんなネーミングルールでファイルが存在するとは限らないので、どららのやり方もできる必要がありますが。

あとついでに補足すると、select case で条件分岐するのも有力。

Sub deletesheets()
    Dim w As Worksheet
    For Each w In Worksheets
        Select Case w.Name
            Case "main", "main1"
            Case Else
                w.Delete
        End Select
    Next
End Sub


2470 : 受講生さんのコメント (2014-09-14 21:48:16)

個人的にはLeft関数を使う方が分かりやすかったです。


934 : 小川慶一の回答 (2014-01-06 10:39:12)

匿名さん:

>複数条件を設けて If で分岐する場合ですが、「If」を重ねるのと、And で条件を結ぶのとでは、どちらかに負荷がかからない等のメリットがあったりするんでしょうか?

Andで条件を結ぶほうが低負荷かつ高速です。
では常にそうするべきなのかというと、可読性との兼ね合いが生じることもありますが。


927 : 小川慶一の回答 (2014-01-06 10:06:35)

匿名さん:

>このパターン、よく使います。グループ化してまとめて集計する時とか

ああ、いいですね。
しっかりやるなら個々のシートのデータを拾って main みたいな形のシートを作って、 worksheetfunction.dsum とかでやるのもありそうですが、工数増えますからね。


924 : 小川慶一の回答 (2014-01-06 09:56:50)

匿名さん:

>何回も動画を確認して身につけると強力な武器になりそうです。

ですね。体で覚えてしまってください!


919 : 受講生さんのコメント (2014-01-05 21:56:50)

複数条件を設けて If で分岐する場合ですが、「If」を重ねるのと、And で条件を結ぶのとでは、どちらかに負荷がかからない等のメリットがあったりするんでしょうか?


907 : 受講生さんのコメント (2014-01-04 10:33:21)

このパターン、よく使います。グループ化してまとめて集計する時とか


904 : 受講生さんのコメント (2014-01-04 08:51:48)

何回も動画を確認して身につけると強力な武器になりそうです。


3日がかりのその仕事、3分で終わらせる方法教えます。ガラパゴスタディーオンライン講座 ユーザー登録

本講座の動画一覧

  1. 【動画1】 すべてのシートを順に処理する
    【動画1】 すべてのシートを順に処理する 未習得
  2. 【動画2】 所定のシート以外すべてを削除する
    【動画2】 所定のシート以外すべてを削除する 未習得
  3. 【動画3】 所定の条件に一致しないシートすべてを削除する
    【動画3】 所定の条件に一致しないシートすべてを削除する 未習得
  4. 【動画4】 警告ダイアログを出さずにシートを削除する
    【動画4】 警告ダイアログを出さずにシートを削除する 未習得
  5. 【動画5】 複数シートを作成し、取引先名リストにあるのと同じ名前を順に割り当てる
    【動画5】 複数シートを作成し、取引先名リストにあるのと同じ名前を順に割り当てる 未習得
  6. 【動画6】 テンプレートシートを複数コピーし、取引先名リストにあるのと同じ名前を順に割り当てる
    【動画6】 テンプレートシートを複数コピーし、取引先名リストにあるのと同じ名前を順に割り当てる 未習得
  7. 【動画7】 あらかじめ並べ替えられているリストから重複しないリストを作成する
    【動画7】 あらかじめ並べ替えられているリストから重複しないリストを作成する 未習得
  8. 【動画8】 重複しないリストを作成し、新規シート作成時にリストからシート名を生成する
    【動画8】 重複しないリストを作成し、新規シート作成時にリストからシート名を生成する 未習得
  9. 【動画9】 重複しないリストを作成する(並べ替えから行う)
    【動画9】 重複しないリストを作成する(並べ替えから行う) 未習得
  10. 【動画10】 重複しないリストを作成する(並べ替えを行い、最後に元に戻す)
    【動画10】 重複しないリストを作成する(並べ替えを行い、最後に元に戻す) 未習得
  11. 【動画11】 取引記録に登場するすべての取引先名のシートを作成する
    【動画11】 取引記録に登場するすべての取引先名のシートを作成する 未習得
  12. 【動画12】 取引記録に登場するすべての取引先名のシートを作成する(IDの割り振りも行う)
    【動画12】 取引記録に登場するすべての取引先名のシートを作成する(IDの割り振りも行う) 未習得
  13. 【動画13】 取引先ごとに作成したシートにデータ転記を行う
    【動画13】 取引先ごとに作成したシートにデータ転記を行う 未習得
  14. 【動画14】 取引先ごとに作成したシートにデータ転記を行う2
    【動画14】 取引先ごとに作成したシートにデータ転記を行う2 未習得
  15. 【動画15】 データ転記先のシートすべてに対し、罫線を引く等の後処理をする
    【動画15】 データ転記先のシートすべてに対し、罫線を引く等の後処理をする 未習得

塾長 小川慶一

メニュー

コメント紹介

もっと見る

ページの先頭へ