Step5 (このページ)は、Step4 の続きになっています。
VBAを使って、複数のフォルダに対してキーワードを検索する方法について解説します
Step4 を読まれた方 又は VBA で複数のファイルに対してキーワード検索する方法をすでに知っている方は、このままお読みください。Step1 ~ Step4 の内容は割愛しておりますので、まだ Step4 を読まれていない方 又は VBA で複数のファイルに対するキーワード検索の方法を知りたい方は、先に下記のページを読まれることをお勧めします。
全体の構成は、Step1 ~ Step7 に分割しておりここでは Step5 の説明となります。
Step | キーワード | フォルダ | ファイル | シート | 検索対象 |
---|---|---|---|---|---|
1 | 1つ | 1つ | 1つ | 1つ | 1つ |
2 | 1つ | 1つ | 1つ | 1つ | 複数 |
3 | 1つ | 1つ | 1つ | 複数 | 複数 |
4 | 1つ | 1つ | 複数 | 複数 | 複数 |
5 | 1つ | 複数 | 複数 | 複数 | 複数 |
6 | 複数 | 複数 | 複数 | 複数 | 複数 |
7 | 複数 | 複数 | 複数 | 複数 | 複数 |
※ Step6 に(処理速度やエラー回避などの)機能を追加したものが Step7 となります。
▼まずはどのようなことができるかについてこちらをご覧ください
動画の説明
0:00
デスクトップに、フォルダを2つ用意しています
それぞれのフォルダには各10個のファイルがあります
2フォルダ × 各10ファイル = 計20ファイル に対して検索していきます
0:23
キーワードの入力
0:38
マクロボタン(Step5)の作成
1:30
フォルダのパスを入力
(検索対象のファイルがある場所を指定しています)
2:22
マクロボタン(Step5)をクリック
2:38
検索結果が表示されます(E ~ H列)
2:55
検索結果の正しさの確認
Step5(プロシージャ)の説明
青緑色で囲まれている箇所 は、入れ替るフォルダがなくなるまで繰り返します
水色で囲まれている箇所 は、入れ替るファイルがなくなるまで繰り返します
青色で囲まれている箇所 は、入れ替るワークシートがなくなるまで繰り返します
フォルダを入れ替える
ファイルを入れ替る
ファイルを開く
ワークシートを入れ替る
キーワードを検索する
検索結果を表示する
ファイルを閉じる
コードの説明(Step5)
▼Step5の ソースコードについてはこちらから入手してください
Step5のソースコード← クリックすると入手できます
(グレー色はコードの抜粋。黒色は説明文です。)
※ Step4 → Step5 にかけての変更箇所については、
(変更箇所) ‘Step5
‘↓Step5
(変更箇所)
‘↑Step5
と表示しています。
Dim RowLast As Long
Dim j As Long
新規に使用する変数を宣言
RowLast = .Cells(Rows.Count, “A”).End(xlUp).row
End With
複数のフォルダを対象としているためフォルダが記入されている最終行を特定しています
folder = ThisWorkbook.Worksheets(2).Cells(j, “A”)
Set fl = fso.GetFolder(folder)
・・
Next j
フォルダの数だけ繰り返し作業を実行できるようにしています
Step5 からは、フォルダの名前も検索結果に表示させています
Step5(このページ) では、複数のフォルダに対して検索する方法について説明しました
Step4までの処理内容を、更にFor ~ Loopで囲み、複数のフォルダを入れ替えるたびに検索処理を繰り返すことで実現しています
次の Step6 では、検索キーワードが複数の場合でも検索できるようについて説明してきます
おすすめ書籍
おすすめの書籍①(初級編)
ググってもVBAのことを調べることはできますが断片的な情報が多いです
この本で全体像を理解しておくとググったときに断片的な情報を補完してくれるのでより理解できるようになります
おすすめ書籍②(中級編)
メソッド&プロパティをたくさん知っているとできることは多くなっていきます
ただし全て使えるとは限りませんよね
「自分がしたいこと」を実現するために知っておくべきメソッド&プロパティを無駄なく調べることができ効率よくメソッド&プロパティを習得できます
おすすめ書籍③(上級編)
かなりボリュームはありますがとても読みやすいです
1章から順番に読んでいくことでVBAの構造が理解できるようになっています
読み終えるまでとても時間がかかりましたがとてもためになりました
VBAは作った後のメンテナンスが重要なのですが、この本を読むと
とてもメンテナンスのしやすいコードがかけるようになります
コメント