エクセルVBA【複数フォルダの検索作業を自動化】|Step3

Step3 (このページ)は、Step2 の続きになっています。
VBAを使って、複数のワークシートに対してキーワードを検索する方法について解説します

Step2 を読まれた方 又は VBA で複数の検索結果を表示させる方法をすでに知っている方は、このままお読みください。Step1 ~ Step2 の内容は割愛しておりますので、まだ Step2 を読まれていない方 又は VBA で複数の検索結果を表示させる方法を知りたい方は、先に下記のページを読まれることをお勧めします。

複数フォルダ内からファイルを検索 複数キーワードも|Step2
Excel VBAにより検索作業を自動化する方法について動画付きで解説します。Step1では検索方法について解説しました。Step2では複数の検索キーワードを続けて検索する方法について解説します。複数キーワード&複数フォルダ&複数ファイル&複数ワークシートでもワンクリックで解決。あなたの代わりに作業の自動化

簡単な処理(検索のみ)~ 実用的な処理 までを Step1 ~ Step7 の 7段階に区切っています。

▼Step1 ~ Step7 の違い

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
検索対象のワークシートの確認

0:32
検索キーワードの設定

0:47
マクロボタン(Step3)の作成

1:38
VBAを起動

1:40
検査結果の表示

1:50
検査結果の正しさの確認

3:05
検索結果の削除

Step3(プロシージャ)の説明

青色で囲まれている箇所 は、入れ替るワークシートがなくなるまで繰り返します


ファイルを開く

ワークシートを入れ替る

キーワードを検索する

検索結果を表示する

ファイルを閉じる

コードの説明(Step3)

▼Step3 の ソースコードについてはこちらから入手してください
Step3のソースコード ← クリックすると入手できます

(グレー色はコードの抜粋。黒色は説明文です。)

※ Step2 → Step3 にかけての変更箇所については、

(変更箇所) ‘Step3

‘↓Step3
(変更箇所)
‘↑Step3

と表示しています。

Dim indexOfsheet As Long

複数のワークシートを操作できるように変数を宣言
ワークシートのインデックスに使用します

インデックス:
Worksheets(1) の ”1” の部分
複数あるワークシートの内、1つ目を意味する

For indexOfsheet = 1 To targetBk.Worksheets.Count

ワークシートの数だけ(For ~ Next の間の)処理を繰り返す

targetBk.Worksheets.Count:
ワークシートの数

Set MyRange = targetBk.Worksheets(indexOfsheet).Cells.Find(keyword)

各ワークシートに対して検索キーワードを検索

Set MyRange2 = targetBk.Worksheets(indexOfsheet).Cells.Find(what:=keyword, after:=Cells(MyRange.row, MyRange.Column))

1つ目のキーワードが見つかった場所の直後の場所からキーワードを検索

.Cells(i, “G”) = targetBk.Worksheets(indexOfsheet).Name

G列に、ワークシート名を表示

Set MyRange2 = targetBk.Worksheets(indexOfsheet).Cells.Find(what:=keyword, after:=Cells(MyRange2.row, MyRange2.Column))

2つ目のキーワードが見つかった場所の直後の場所からキーワードを検索

Next indexOfsheet

For ~ Next の 「Next」の記述

Step3(このページ)では、複数のワークシートに対してキーワードを検索する方法について説明しました
Worksheets() のインデックスを入れ替えることで、全てのワークシートに対して検索することができます
次のStep4 では複数のファイルについて検索する方法について解説します

エクセルVBA【複数フォルダの検索作業を自動化】|Step4
Step4 (このページ)は、Step3 の続きになっています。 VBAを使って、複数のファイルに対してキーワードを検索する方法について解説します Step3 を読まれた方 又は VBA で複数のワークシートに対してキーワード検索す...

おすすめ書籍

おすすめの書籍①(初級編)

ググってもVBAのことを調べることはできますが断片的な情報が多いです
この本で全体像を理解しておくとググったときに断片的な情報を補完してくれるのでより理解できるようになります

https://amzn.to/3b1yqRw

おすすめ書籍②(中級編)

メソッド&プロパティをたくさん知っているとできることは多くなっていきます
ただし全て使えるとは限りませんよね
「自分がしたいこと」を実現するために知っておくべきメソッド&プロパティを無駄なく調べることができ効率よくメソッド&プロパティを習得できます

https://amzn.to/3PXpmfv

おすすめ書籍③(上級編)

かなりボリュームはありますがとても読みやすいです
1章から順番に読んでいくことでVBAの構造が理解できるようになっています
読み終えるまでとても時間がかかりましたがとてもためになりました
VBAは作った後のメンテナンスが重要なのですが、この本を読むと
とてもメンテナンスのしやすいコードがかけるようになります

https://amzn.to/3b4sqre

コメント

この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
タイトルとURLをコピーしました