取得したデータをクリアする。シート別に実行するVBA

データ収集VBAを作成する中で、使い終わった取得データをクリアするためのコードを作成します。
作成に当たっては利用場面を考慮して、データクリアをシート別で設定します。

こんにちは、じゅんぱ店長(@junpa33)です。

今回は、次に使う時のために「シートをクリア、リセットする」VBAコードについてです。

これでこの「データを収集するエクセルVBAソフト」は完成です。

一つの作業終了で、ALLクリアとリセットを行ってもいいのですが、

抽出条件だけを変更して再抽出をしたい時もあるかと思います。

なので、ここで設計するのは、クリア作業を2段階で行うようにします。

全自動で1ボタンクリックではなく、「ステップ処理が出来る」ようにしておくことの方が、「実務的には便利」ということも多くあります。

その前にもう一度、先回の記事をチェックするにはこちら↓になります。

datasyusyueyecatch003 指定条件で複数ファイルからデータ取得。エクセルVBAコード

次回利用のための取得データクリアの考え方

detasyuuclearp012

このデータを取得するVBAマクロは、ファイルの中のシートやセルを自由に指定することが出来ますが、

唯一、フォルダーを複数指定することはできない設定です。

そこで、抽出条件そのままで、フォルダーを再指定できるようなリセットの方法を考えます。

これを出来るようにするために、

一度にすべてをクリア、リセットするのではなく、「設定」シートと「抽出シート」での処理を分けて考えることにします。

シート別にデータクリアするコード

detasyuuclearp013

今回の作業は「設定」シートの「抽出リストクリア」と「抽出条件クリア」ボタンで操作するプロシージャーを作成します。

VBAコードは今まで作成しているモジュール(Module1)に追記してください。

detasyuu007aa

「抽出シート」をクリアする

「抽出シート」だけをクリアすると、再度「抽出実行」ボタンを押して ”先に使用した同じ抽出条件” で、

新しい(資料となるファイルの保存先)フォルダーを指定してデータ取得を続けることが出来ます。

ここでのVBAコードは、抽出したデータをクリアするだけではなく、各セルサイズ、文字サイズなどもリセットします。

プロシージャー名を「抽出リストCL()」としています。

VBA
Sub 抽出リストCL()
        Workbooks("データ収集.xlsm").Activate
        Worksheets("抽出リスト").Select
            With Cells
                .ClearFormats
                .ClearContents
                .UseStandardHeight = True
                .UseStandardWidth = True
            End With
        Worksheets("設定").Select
End Sub
vbawithstateeyecatch With~End Withの使い方。VBAコードを簡潔に記述する vbacleareyecatch シートクリアーを目的のメソッド別にVBA最速理解

「設定」シートをクリアする

「設定」シートをクリアしてリセットします。

抽出条件をクリアしますので、初期状態で使用する用になります。(この時は「抽出リストクリア」も実行しておきます。)

プロシージャー名を「設定条件CL()」としています。

VBA
Sub 設定条件CL()
        Workbooks("データ収集.xlsm").Activate
        Worksheets("設定").Select
            With Cells
                .ClearFormats
                .ClearContents
                .UseStandardHeight = True
                .UseStandardWidth = True
            End With
End Sub

2つの作動ボタンの設置

「設定」シートに「抽出リストクリア」ボタンと「抽出条件クリア」ボタンを設置します。

このボタンに紐づけるプロシージャーは

「抽出リストクリア」ボタンは「抽出リストCL()」になります。

「抽出条件クリア」ボタンは「設定条件CL()」になります。

設置方法の確認は、こちら↓です。

プロシージャー実行のボタンを設置する

vbabuttoneyecatch コマンドボタンをシートに設置する2つの方法

ここまでのまとめ

detasyuuclearp014

今回、クリアのVBAコードをモジュールへの記述を行いました。

これで、「複数ファイルからデータ収集を行うエクセルVBAソフト」は完成です。

このソフトで、少しでもより作業効率を上げることが出来れば良いかなと思っています。

次回の記事は、このソフトの取説と無料ダウンロードになります。

次の記事に進むにはこちら↓になります。

datasyusyueyecatch005 「複数エクセルファイルのデータ収集VBA」の取説と無料DL

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

vbastudyeyecatch2 エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

今回の記事はここまでです。   最後までご覧いただき有難うございました。

エクセルVBA最速理解で必要な知識を集めよう!

エクセルVBA業務ツールで日常の業務改善を行いましょう。

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。