データ収集VBAを作成する中で、使い終わった取得データをクリアするためのコードを作成します。
作成に当たっては利用場面を考慮して、データクリアをシート別で設定します。
こんにちは、じゅんぱ店長(@junpa33)です。
今回は、次に使う時のために「シートをクリア、リセットする」VBAコードについてです。
これでこの「データを収集するエクセルVBAソフト」は完成です。
一つの作業終了で、ALLクリアとリセットを行ってもいいのですが、
抽出条件だけを変更して再抽出をしたい時もあるかと思います。
なので、ここで設計するのは、クリア作業を2段階で行うようにします。
全自動で1ボタンクリックではなく、「ステップ処理が出来る」ようにしておくことの方が、「実務的には便利」ということも多くあります。
その前にもう一度、先回の記事をチェックするにはこちら↓になります。
指定条件で複数ファイルからデータ取得。エクセルVBAコード複数ファイルデータ収集VBAの記事編成
- 複数ファイルデータ収集VBAの使い方とダウンロード
コンテンツ
次回利用のための取得データクリアの考え方
このデータを取得するVBAマクロは、ファイルの中のシートやセルを自由に指定することが出来ますが、
唯一、フォルダーを複数指定することはできない設定です。
そこで、抽出条件そのままで、フォルダーを再指定できるようなリセットの方法を考えます。
これを出来るようにするために、
一度にすべてをクリア、リセットするのではなく、「設定」シートと「抽出シート」での処理を分けて考えることにします。
シート別にデータクリアするコード
今回の作業は「設定」シートの「抽出リストクリア」と「抽出条件クリア」ボタンで操作するプロシージャーを作成します。
VBAコードは今まで作成しているモジュール(Module1)に追記してください。
「抽出シート」をクリアする
「抽出シート」だけをクリアすると、再度「抽出実行」ボタンを押して ”先に使用した同じ抽出条件” で、
新しい(資料となるファイルの保存先)フォルダーを指定してデータ取得を続けることが出来ます。
ここでのVBAコードは、抽出したデータをクリアするだけではなく、各セルサイズ、文字サイズなどもリセットします。
プロシージャー名を「抽出リストCL()」としています。
Sub 抽出リストCL()
Workbooks("データ収集.xlsm").Activate
Worksheets("抽出リスト").Select
With Cells
.ClearFormats
.ClearContents
.UseStandardHeight = True
.UseStandardWidth = True
End With
Worksheets("設定").Select
End Sub
「設定」シートをクリアする
「設定」シートをクリアしてリセットします。
抽出条件をクリアしますので、初期状態で使用する用になります。(この時は「抽出リストクリア」も実行しておきます。)
プロシージャー名を「設定条件CL()」としています。
Sub 設定条件CL()
Workbooks("データ収集.xlsm").Activate
Worksheets("設定").Select
With Cells
.ClearFormats
.ClearContents
.UseStandardHeight = True
.UseStandardWidth = True
End With
End Sub
2つの作動ボタンの設置
「設定」シートに「抽出リストクリア」ボタンと「抽出条件クリア」ボタンを設置します。
このボタンに紐づけるプロシージャーは
「抽出リストクリア」ボタンは「抽出リストCL()」になります。
「抽出条件クリア」ボタンは「設定条件CL()」になります。
設置方法の確認は、こちら↓です。
コマンドボタンをシートに設置する2つの方法ここまでのまとめ
今回、クリアのVBAコードをモジュールへの記述を行いました。
これで、「複数ファイルからデータ収集を行うエクセルVBAソフト」は完成です。
このソフトで、少しでもより作業効率を上げることが出来れば良いかなと思っています。
次回の記事は、このソフトの取説と無料ダウンロードになります。
次の記事に進むにはこちら↓になります。
「複数エクセルファイルのデータ収集VBA」の取説と無料DLエクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。